def method_missing(method, *args)
      return super unless REPORT_TYPES.include?(method) && args.first.is_a?(Hash)
      request args.first.merge(:report_type => method)
    end
def method_missing(method, *args)
      return super unless REPORT_TYPES.include?(method) && args.first.is_a?(Hash)
      request args.first.merge(:report_type => method)
    end
Tries to make the api call for the report called as method (see samples on http://www.semrush.com/api.html).
 Allows calls like:
 * Semrush::Report.new.domain_rank(:request_type => :domain, :request => 'thedomain.com')
 * Semrush::Report.new.domain_organic_organic(:request_type => :domain, :request => 'thedomain.com')
 * Semrush::Report.new.phrase_related(:request_type => :phrase, :request => 'the+phrase')
 * Semrush::Report.new.phrase_fullsearch(:request_type => :phrase, :request => 'the+phrase')