Class: Alexa::API::UrlInfo

Inherits:
Base
  • Object
show all
Defined in:
lib/alexa/api/url_info.rb

Constant Summary collapse

DEFAULT_RESPONSE_GROUP =
["adult_content", "contact_info", "keywords", "language", "links_in_count", "owned_domains", "rank", "rank_by_city", "rank_by_country", "related_links", "site_data", "speed", "usage_stats", "categories"]

Instance Attribute Summary

Attributes inherited from Base

#arguments, #response_body

Instance Method Summary collapse

Methods inherited from Base

#initialize, #parsed_body

Methods included from Utils

camelize, safe_retrieve

Constructor Details

This class inherits a constructor from Alexa::API::Base

Instance Method Details

#categoriesObject



88
89
90
# File 'lib/alexa/api/url_info.rb', line 88

def categories
  @categories ||= safe_retrieve(parsed_body, "UrlInfoResponse", "Response", "UrlInfoResult", "Alexa", "Related", "Categories", "CategoryData")
end

#data_urlObject



35
36
37
# File 'lib/alexa/api/url_info.rb', line 35

def data_url
  @data_url ||= safe_retrieve(parsed_body, "UrlInfoResponse", "Response", "UrlInfoResult", "Alexa", "TrafficData", "DataUrl", "__content__")
end

#fetch(arguments = {}) ⇒ Object

Raises:



8
9
10
11
12
13
14
15
16
# File 'lib/alexa/api/url_info.rb', line 8

def fetch(arguments = {})
  raise ArgumentError, "You must specify url" unless arguments.has_key?(:url)
  @arguments = arguments

  @arguments[:response_group] = Array(arguments.fetch(:response_group, DEFAULT_RESPONSE_GROUP))

  @response_body = Alexa::Connection.new(@credentials).get(params)
  self
end

#keywordsObject



66
67
68
# File 'lib/alexa/api/url_info.rb', line 66

def keywords
  @keywords ||= safe_retrieve(parsed_body, "UrlInfoResponse", "Response", "UrlInfoResult", "Alexa", "ContentData", "Keywords", "Keyword")
end

#language_encodingObject



55
56
57
# File 'lib/alexa/api/url_info.rb', line 55

def language_encoding
  @language_encoding ||= safe_retrieve(parsed_body, "UrlInfoResponse", "Response", "UrlInfoResult", "Alexa", "ContentData", "Language", "Encoding")
end

#language_localeObject



51
52
53
# File 'lib/alexa/api/url_info.rb', line 51

def language_locale
  @language_locale ||= safe_retrieve(parsed_body, "UrlInfoResponse", "Response", "UrlInfoResult", "Alexa", "ContentData", "Language", "Locale")
end


59
60
61
62
63
64
# File 'lib/alexa/api/url_info.rb', line 59

def links_in_count
  return @links_in_count if defined?(@links_in_count)
  if links_in_count = safe_retrieve(parsed_body, "UrlInfoResponse", "Response", "UrlInfoResult", "Alexa", "ContentData", "LinksInCount")
    @links_in_count = links_in_count.to_i
  end
end

#rankObject

Response attributes



20
21
22
23
24
25
# File 'lib/alexa/api/url_info.rb', line 20

def rank
  return @rank if defined?(@rank)
  if rank = safe_retrieve(parsed_body, "UrlInfoResponse", "Response", "UrlInfoResult", "Alexa", "TrafficData", "Rank")
    @rank = rank.to_i
  end
end

#rank_by_cityObject



31
32
33
# File 'lib/alexa/api/url_info.rb', line 31

def rank_by_city
  @rank_by_city ||= safe_retrieve(parsed_body, "UrlInfoResponse", "Response", "UrlInfoResult", "Alexa", "TrafficData", "RankByCity", "City")
end

#rank_by_countryObject



27
28
29
# File 'lib/alexa/api/url_info.rb', line 27

def rank_by_country
  @rank_by_country ||= safe_retrieve(parsed_body, "UrlInfoResponse", "Response", "UrlInfoResult", "Alexa", "TrafficData", "RankByCountry", "Country")
end


84
85
86
# File 'lib/alexa/api/url_info.rb', line 84

def related_links
  @related_links ||= safe_retrieve(parsed_body, "UrlInfoResponse", "Response", "UrlInfoResult", "Alexa", "Related", "RelatedLinks", "RelatedLink")
end

#request_idObject



96
97
98
# File 'lib/alexa/api/url_info.rb', line 96

def request_id
  @request_id ||= safe_retrieve(parsed_body, "UrlInfoResponse", "Response", "OperationRequest", "RequestId")
end

#site_descriptionObject



47
48
49
# File 'lib/alexa/api/url_info.rb', line 47

def site_description
  @site_description ||= safe_retrieve(parsed_body, "UrlInfoResponse", "Response", "UrlInfoResult", "Alexa", "ContentData", "SiteData", "Description")
end

#site_titleObject



43
44
45
# File 'lib/alexa/api/url_info.rb', line 43

def site_title
  @site_title ||= safe_retrieve(parsed_body, "UrlInfoResponse", "Response", "UrlInfoResult", "Alexa", "ContentData", "SiteData", "Title")
end

#speed_median_load_timeObject



70
71
72
73
74
75
# File 'lib/alexa/api/url_info.rb', line 70

def speed_median_load_time
  return @speed_median_load_time if defined?(@speed_median_load_time)
  if speed_median_load_time = safe_retrieve(parsed_body, "UrlInfoResponse", "Response", "UrlInfoResult", "Alexa", "ContentData", "Speed", "MedianLoadTime")
    @speed_median_load_time = speed_median_load_time.to_i
  end
end

#speed_percentileObject



77
78
79
80
81
82
# File 'lib/alexa/api/url_info.rb', line 77

def speed_percentile
  return @speed_percentile if defined?(@speed_percentile)
  if speed_percentile = safe_retrieve(parsed_body, "UrlInfoResponse", "Response", "UrlInfoResult", "Alexa", "ContentData", "Speed", "Percentile")
    @speed_percentile = speed_percentile.to_i
  end
end

#status_codeObject



92
93
94
# File 'lib/alexa/api/url_info.rb', line 92

def status_code
  @status_code ||= safe_retrieve(parsed_body, "UrlInfoResponse", "Response", "ResponseStatus", "StatusCode")
end

#usage_statisticsObject



39
40
41
# File 'lib/alexa/api/url_info.rb', line 39

def usage_statistics
  @usage_statistics ||= safe_retrieve(parsed_body, "UrlInfoResponse", "Response", "UrlInfoResult", "Alexa", "TrafficData", "UsageStatistics", "UsageStatistic")
end