ralexa 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +4 -10
- data/lib/ralexa/url_info.rb +103 -5
- data/lib/ralexa/version.rb +1 -1
- data/spec/fixtures/rank.xml +238 -5
- data/spec/url_info_spec.rb +99 -7
- metadata +15 -25
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: d1b82971f1f2831ceab99ae0380a5c1c77fd6cb8
|
4
|
+
data.tar.gz: fd68afd62770887e25115cd9a546851b2e9c717e
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 8d952d6cbe12c5d979bbb509d9b6424f36ca12f58f3a99bfc6fdb8d01266bf9ec5052414d9edf37f648c7af83fec808c0197002da5d3165d9f26afa79176a42d
|
7
|
+
data.tar.gz: ca9d3933053a736e1fb510456651912de6350b97febb48d0a8a42ed002f370eb2619dd58737821f3714597f8e5fa95535216595a6a214383e4cab1cc8c41d764
|
data/README.md
CHANGED
@@ -58,9 +58,9 @@ session.top_sites.country("AU", 10).each do |s|
|
|
58
58
|
puts "#{s.url} (#{s.page_views} pageviews)"
|
59
59
|
end
|
60
60
|
|
61
|
-
#
|
62
|
-
puts "
|
63
|
-
puts session.url_info.
|
61
|
+
# url info for an individual site
|
62
|
+
puts "Url info of Flippa.com"
|
63
|
+
puts session.url_info.get("http://flippa.com")
|
64
64
|
|
65
65
|
puts "bam!"
|
66
66
|
```
|
@@ -95,15 +95,9 @@ Status
|
|
95
95
|
<tr>
|
96
96
|
<td rowspan="7">Alexa Web Information Services</td>
|
97
97
|
<td>UrlInfo</td>
|
98
|
-
<td>
|
98
|
+
<td>Get</td>
|
99
99
|
<td>Yes</td>
|
100
100
|
</tr>
|
101
|
-
<tr>
|
102
|
-
<td></td>
|
103
|
-
<td>*</td>
|
104
|
-
<td>Send a pull request!</td>
|
105
|
-
</tr>
|
106
|
-
<tr>
|
107
101
|
<td>TrafficHistory</td>
|
108
102
|
<td>*</td>
|
109
103
|
<td>Send a pull request!</td>
|
data/lib/ralexa/url_info.rb
CHANGED
@@ -1,19 +1,117 @@
|
|
1
1
|
module Ralexa
|
2
2
|
class UrlInfo < AbstractService
|
3
3
|
|
4
|
-
#
|
4
|
+
# Alexa data for an individual site
|
5
|
+
def get(url, params = {})
|
6
|
+
result({"ResponseGroup" => "Related,TrafficData,ContentData", "Url" => url}, params) do |doc|
|
7
|
+
@document = doc
|
8
|
+
|
9
|
+
{
|
10
|
+
speed_median_load_time: speed_median_load_time,
|
11
|
+
speed_load_percentile: speed_load_percentile,
|
12
|
+
link_count: link_count,
|
13
|
+
ranking: ranking,
|
14
|
+
ranking_delta: ranking_delta,
|
15
|
+
reach_rank: reach_rank,
|
16
|
+
reach_rank_delta: reach_rank_delta,
|
17
|
+
reach_per_million: reach_per_million,
|
18
|
+
reach_per_million_delta: reach_per_million_delta,
|
19
|
+
page_views_rank: page_views_rank,
|
20
|
+
page_views_rank_delta: page_views_rank_delta,
|
21
|
+
page_views_per_million: page_views_per_million,
|
22
|
+
page_views_per_million_delta: page_views_per_million_delta,
|
23
|
+
page_views_per_user: page_views_per_user,
|
24
|
+
page_views_per_user_delta: page_views_per_user_delta
|
25
|
+
}
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
# The site's Alexa rank (a legacy method)
|
5
30
|
def rank(url, params = {})
|
6
|
-
|
7
|
-
document.at("//UrlInfoResult/Alexa/TrafficData/Rank") &&
|
8
|
-
document.at("//UrlInfoResult/Alexa/TrafficData/Rank").text.to_i
|
9
|
-
end
|
31
|
+
get(url, params)[:ranking]
|
10
32
|
end
|
11
33
|
|
12
34
|
private
|
13
35
|
|
36
|
+
attr_accessor :document
|
37
|
+
|
14
38
|
def host; "awis.amazonaws.com" end
|
15
39
|
def path; "/" end
|
16
40
|
def default_params; {"Action" => "UrlInfo"}; end
|
17
41
|
|
42
|
+
def speed_median_load_time
|
43
|
+
document.at("//UrlInfoResult/Alexa/ContentData/Speed/MedianLoadTime") &&
|
44
|
+
document.at("//UrlInfoResult/Alexa/ContentData/Speed/MedianLoadTime").text.to_i
|
45
|
+
end
|
46
|
+
|
47
|
+
def speed_load_percentile
|
48
|
+
document.at("//UrlInfoResult/Alexa/ContentData/Speed/Percentile") &&
|
49
|
+
document.at("//UrlInfoResult/Alexa/ContentData/Speed/Percentile").text.to_i
|
50
|
+
end
|
51
|
+
|
52
|
+
def link_count
|
53
|
+
document.at("//UrlInfoResult/Alexa/ContentData/LinksInCount") &&
|
54
|
+
document.at("//UrlInfoResult/Alexa/ContentData/LinksInCount").text.to_i
|
55
|
+
end
|
56
|
+
|
57
|
+
def ranking
|
58
|
+
document.at("//UrlInfoResult/Alexa/TrafficData/Rank") &&
|
59
|
+
document.at("//UrlInfoResult/Alexa/TrafficData/Rank").text.to_i
|
60
|
+
end
|
61
|
+
|
62
|
+
def ranking_delta
|
63
|
+
document.at("//UrlInfoResult/Alexa/TrafficData/UsageStatistics/UsageStatistic/Rank/Delta") &&
|
64
|
+
document.at("//UrlInfoResult/Alexa/TrafficData/UsageStatistics/UsageStatistic/Rank/Delta").text.to_i
|
65
|
+
end
|
66
|
+
|
67
|
+
def reach_rank
|
68
|
+
document.at("//UrlInfoResult/Alexa/TrafficData/UsageStatistics/UsageStatistic/Reach/Rank/Value") &&
|
69
|
+
document.at("//UrlInfoResult/Alexa/TrafficData/UsageStatistics/UsageStatistic/Reach/Rank/Value").text.to_i
|
70
|
+
end
|
71
|
+
|
72
|
+
def reach_rank_delta
|
73
|
+
document.at("//UrlInfoResult/Alexa/TrafficData/UsageStatistics/UsageStatistic/Reach/Rank/Delta") &&
|
74
|
+
document.at("//UrlInfoResult/Alexa/TrafficData/UsageStatistics/UsageStatistic/Reach/Rank/Delta").text.to_i
|
75
|
+
end
|
76
|
+
|
77
|
+
def reach_per_million
|
78
|
+
document.at("//UrlInfoResult/Alexa/TrafficData/UsageStatistics/UsageStatistic/Reach/PerMillion/Value") &&
|
79
|
+
document.at("//UrlInfoResult/Alexa/TrafficData/UsageStatistics/UsageStatistic/Reach/PerMillion/Value").text.gsub(',','').to_i
|
80
|
+
end
|
81
|
+
|
82
|
+
def reach_per_million_delta
|
83
|
+
document.at("//UrlInfoResult/Alexa/TrafficData/UsageStatistics/UsageStatistic/Reach/PerMillion/Delta") &&
|
84
|
+
document.at("//UrlInfoResult/Alexa/TrafficData/UsageStatistics/UsageStatistic/Reach/PerMillion/Delta").text.to_i
|
85
|
+
end
|
86
|
+
|
87
|
+
def page_views_rank
|
88
|
+
document.at("//UrlInfoResult/Alexa/TrafficData/UsageStatistics/UsageStatistic/PageViews/Rank/Value") &&
|
89
|
+
document.at("//UrlInfoResult/Alexa/TrafficData/UsageStatistics/UsageStatistic/PageViews/Rank/Value").text.to_i
|
90
|
+
end
|
91
|
+
|
92
|
+
def page_views_rank_delta
|
93
|
+
document.at("//UrlInfoResult/Alexa/TrafficData/UsageStatistics/UsageStatistic/PageViews/Rank/Delta") &&
|
94
|
+
document.at("//UrlInfoResult/Alexa/TrafficData/UsageStatistics/UsageStatistic/PageViews/Rank/Delta").text.to_i
|
95
|
+
end
|
96
|
+
|
97
|
+
def page_views_per_million
|
98
|
+
document.at("//UrlInfoResult/Alexa/TrafficData/UsageStatistics/UsageStatistic/PageViews/PerMillion/Value") &&
|
99
|
+
document.at("//UrlInfoResult/Alexa/TrafficData/UsageStatistics/UsageStatistic/PageViews/PerMillion/Value").text.to_i
|
100
|
+
end
|
101
|
+
|
102
|
+
def page_views_per_million_delta
|
103
|
+
document.at("//UrlInfoResult/Alexa/TrafficData/UsageStatistics/UsageStatistic/PageViews/PerMillion/Delta") &&
|
104
|
+
document.at("//UrlInfoResult/Alexa/TrafficData/UsageStatistics/UsageStatistic/PageViews/PerMillion/Delta").text.to_i
|
105
|
+
end
|
106
|
+
|
107
|
+
def page_views_per_user
|
108
|
+
document.at("//UrlInfoResult/Alexa/TrafficData/UsageStatistics/UsageStatistic/PageViews/PerUser/Value") &&
|
109
|
+
document.at("//UrlInfoResult/Alexa/TrafficData/UsageStatistics/UsageStatistic/PageViews/PerUser/Value").text.to_i
|
110
|
+
end
|
111
|
+
|
112
|
+
def page_views_per_user_delta
|
113
|
+
document.at("//UrlInfoResult/Alexa/TrafficData/UsageStatistics/UsageStatistic/PageViews/PerUser/Delta") &&
|
114
|
+
document.at("//UrlInfoResult/Alexa/TrafficData/UsageStatistics/UsageStatistic/PageViews/PerUser/Delta").text.to_i
|
115
|
+
end
|
18
116
|
end
|
19
117
|
end
|
data/lib/ralexa/version.rb
CHANGED
data/spec/fixtures/rank.xml
CHANGED
@@ -1,8 +1,241 @@
|
|
1
1
|
<?xml version="1.0"?>
|
2
|
-
<aws:UrlInfoResponse xmlns:aws="http://alexa.amazonaws.com/doc/2005-10-05/"
|
3
|
-
|
2
|
+
<aws:UrlInfoResponse xmlns:aws="http://alexa.amazonaws.com/doc/2005-10-05/">
|
3
|
+
<aws:Response xmlns:aws="http://awis.amazonaws.com/doc/2005-07-11">
|
4
|
+
<aws:OperationRequest>
|
5
|
+
<aws:RequestId>86b12d15-46f7-4c31-937e-a5254d2aa306</aws:RequestId>
|
6
|
+
</aws:OperationRequest>
|
7
|
+
<aws:UrlInfoResult>
|
8
|
+
<aws:Alexa>
|
9
|
+
<aws:ContentData>
|
10
|
+
<aws:DataUrl type="canonical">flippa.com</aws:DataUrl>
|
11
|
+
<aws:SiteData>
|
12
|
+
<aws:Title>Flippa</aws:Title>
|
13
|
+
<aws:Description>The number one marketplace for buying and selling websites.</aws:Description>
|
14
|
+
</aws:SiteData>
|
15
|
+
<aws:Speed>
|
16
|
+
<aws:MedianLoadTime>1930</aws:MedianLoadTime>
|
17
|
+
<aws:Percentile>42</aws:Percentile>
|
18
|
+
</aws:Speed>
|
19
|
+
<aws:AdultContent/>
|
20
|
+
<aws:Language>
|
21
|
+
<aws:Locale>en</aws:Locale>
|
22
|
+
<aws:Encoding>us-ascii</aws:Encoding>
|
23
|
+
</aws:Language>
|
24
|
+
<aws:LinksInCount>1788</aws:LinksInCount>
|
25
|
+
<aws:Keywords/>
|
26
|
+
<aws:OwnedDomains/>
|
27
|
+
</aws:ContentData>
|
28
|
+
<aws:Related>
|
29
|
+
<aws:DataUrl type="canonical">flippa.com</aws:DataUrl>
|
30
|
+
<aws:RelatedLinks>
|
31
|
+
<aws:RelatedLink>
|
32
|
+
<aws:DataUrl type="canonical">uservoice.com/</aws:DataUrl>
|
33
|
+
<aws:NavigableUrl>http://uservoice.com/</aws:NavigableUrl>
|
34
|
+
<aws:Title>UserVoice &#187; Customer Feedback 2.0</aws:Title>
|
35
|
+
</aws:RelatedLink>
|
36
|
+
<aws:RelatedLink>
|
37
|
+
<aws:DataUrl type="canonical">urltrends.com/</aws:DataUrl>
|
38
|
+
<aws:NavigableUrl>http://urltrends.com/</aws:NavigableUrl>
|
39
|
+
<aws:Title>Free SEO Reports, Search Engine Ranking Trends and Competitive Research by UrlTr</aws:Title>
|
40
|
+
</aws:RelatedLink>
|
41
|
+
<aws:RelatedLink>
|
42
|
+
<aws:DataUrl type="canonical">tutorial9.net/</aws:DataUrl>
|
43
|
+
<aws:NavigableUrl>http://tutorial9.net/</aws:NavigableUrl>
|
44
|
+
<aws:Title>Tutorial9 - Tutorial Bliss.</aws:Title>
|
45
|
+
</aws:RelatedLink>
|
46
|
+
<aws:RelatedLink>
|
47
|
+
<aws:DataUrl type="canonical">sitepoint.com/</aws:DataUrl>
|
48
|
+
<aws:NavigableUrl>http://sitepoint.com/</aws:NavigableUrl>
|
49
|
+
<aws:Title>SitePoint</aws:Title>
|
50
|
+
</aws:RelatedLink>
|
51
|
+
<aws:RelatedLink>
|
52
|
+
<aws:DataUrl type="canonical">preview-online.com/</aws:DataUrl>
|
53
|
+
<aws:NavigableUrl>http://preview-online.com/</aws:NavigableUrl>
|
54
|
+
<aws:Title>Preview-Online.Com</aws:Title>
|
55
|
+
</aws:RelatedLink>
|
56
|
+
<aws:RelatedLink>
|
57
|
+
<aws:DataUrl type="canonical">copyscape.com/</aws:DataUrl>
|
58
|
+
<aws:NavigableUrl>http://copyscape.com/</aws:NavigableUrl>
|
59
|
+
<aws:Title>Copyscape</aws:Title>
|
60
|
+
</aws:RelatedLink>
|
61
|
+
<aws:RelatedLink>
|
62
|
+
<aws:DataUrl type="canonical">700megs.com/</aws:DataUrl>
|
63
|
+
<aws:NavigableUrl>http://700megs.com/</aws:NavigableUrl>
|
64
|
+
<aws:Title>700 Megs.com - Free website hosting. Create your own website with a control pane</aws:Title>
|
65
|
+
</aws:RelatedLink>
|
66
|
+
</aws:RelatedLinks>
|
67
|
+
</aws:Related>
|
4
68
|
<aws:TrafficData>
|
5
|
-
<aws:DataUrl type="canonical">
|
6
|
-
<aws:Rank>
|
69
|
+
<aws:DataUrl type="canonical">flippa.com</aws:DataUrl>
|
70
|
+
<aws:Rank>932</aws:Rank>
|
71
|
+
<aws:UsageStatistics>
|
72
|
+
<aws:UsageStatistic>
|
73
|
+
<aws:TimeRange>
|
74
|
+
<aws:Months>3</aws:Months>
|
75
|
+
</aws:TimeRange>
|
76
|
+
<aws:Rank>
|
77
|
+
<aws:Value>932</aws:Value>
|
78
|
+
<aws:Delta>-695</aws:Delta>
|
79
|
+
</aws:Rank>
|
80
|
+
<aws:Reach>
|
81
|
+
<aws:Rank>
|
82
|
+
<aws:Value>1230</aws:Value>
|
83
|
+
<aws:Delta>-868</aws:Delta>
|
84
|
+
</aws:Rank>
|
85
|
+
<aws:PerMillion>
|
86
|
+
<aws:Value>1,093</aws:Value>
|
87
|
+
<aws:Delta>+90%</aws:Delta>
|
88
|
+
</aws:PerMillion>
|
89
|
+
</aws:Reach>
|
90
|
+
<aws:PageViews>
|
91
|
+
<aws:PerMillion>
|
92
|
+
<aws:Value>98.5</aws:Value>
|
93
|
+
<aws:Delta>+92.9%</aws:Delta>
|
94
|
+
</aws:PerMillion>
|
95
|
+
<aws:Rank>
|
96
|
+
<aws:Value>579</aws:Value>
|
97
|
+
<aws:Delta>-406</aws:Delta>
|
98
|
+
</aws:Rank>
|
99
|
+
<aws:PerUser>
|
100
|
+
<aws:Value>9.56</aws:Value>
|
101
|
+
<aws:Delta>+1.8%</aws:Delta>
|
102
|
+
</aws:PerUser>
|
103
|
+
</aws:PageViews>
|
104
|
+
</aws:UsageStatistic>
|
105
|
+
<aws:UsageStatistic>
|
106
|
+
<aws:TimeRange>
|
107
|
+
<aws:Months>1</aws:Months>
|
108
|
+
</aws:TimeRange>
|
109
|
+
<aws:Rank>
|
110
|
+
<aws:Value>914</aws:Value>
|
111
|
+
<aws:Delta>-18</aws:Delta>
|
112
|
+
</aws:Rank>
|
113
|
+
<aws:Reach>
|
114
|
+
<aws:Rank>
|
115
|
+
<aws:Value>1203</aws:Value>
|
116
|
+
<aws:Delta>-37</aws:Delta>
|
117
|
+
</aws:Rank>
|
118
|
+
<aws:PerMillion>
|
119
|
+
<aws:Value>1,114</aws:Value>
|
120
|
+
<aws:Delta>+3%</aws:Delta>
|
121
|
+
</aws:PerMillion>
|
122
|
+
</aws:Reach>
|
123
|
+
<aws:PageViews>
|
124
|
+
<aws:PerMillion>
|
125
|
+
<aws:Value>97</aws:Value>
|
126
|
+
<aws:Delta>-2.53%</aws:Delta>
|
127
|
+
</aws:PerMillion>
|
128
|
+
<aws:Rank>
|
129
|
+
<aws:Value>586</aws:Value>
|
130
|
+
<aws:Delta>4</aws:Delta>
|
131
|
+
</aws:Rank>
|
132
|
+
<aws:PerUser>
|
133
|
+
<aws:Value>9.21</aws:Value>
|
134
|
+
<aws:Delta>-5.25%</aws:Delta>
|
135
|
+
</aws:PerUser>
|
136
|
+
</aws:PageViews>
|
137
|
+
</aws:UsageStatistic>
|
138
|
+
<aws:UsageStatistic>
|
139
|
+
<aws:TimeRange>
|
140
|
+
<aws:Days>7</aws:Days>
|
141
|
+
</aws:TimeRange>
|
142
|
+
<aws:Rank>
|
143
|
+
<aws:Value>824</aws:Value>
|
144
|
+
<aws:Delta>-216</aws:Delta>
|
145
|
+
</aws:Rank>
|
146
|
+
<aws:Reach>
|
147
|
+
<aws:Rank>
|
148
|
+
<aws:Value>1083</aws:Value>
|
149
|
+
<aws:Delta>-263</aws:Delta>
|
150
|
+
</aws:Rank>
|
151
|
+
<aws:PerMillion>
|
152
|
+
<aws:Value>1,230</aws:Value>
|
153
|
+
<aws:Delta>+22%</aws:Delta>
|
154
|
+
</aws:PerMillion>
|
155
|
+
</aws:Reach>
|
156
|
+
<aws:PageViews>
|
157
|
+
<aws:PerMillion>
|
158
|
+
<aws:Value>104.4</aws:Value>
|
159
|
+
<aws:Delta>+21.0%</aws:Delta>
|
160
|
+
</aws:PerMillion>
|
161
|
+
<aws:Rank>
|
162
|
+
<aws:Value>549</aws:Value>
|
163
|
+
<aws:Delta>-131</aws:Delta>
|
164
|
+
</aws:Rank>
|
165
|
+
<aws:PerUser>
|
166
|
+
<aws:Value>9.0</aws:Value>
|
167
|
+
<aws:Delta>-0.77%</aws:Delta>
|
168
|
+
</aws:PerUser>
|
169
|
+
</aws:PageViews>
|
170
|
+
</aws:UsageStatistic>
|
171
|
+
<aws:UsageStatistic>
|
172
|
+
<aws:TimeRange>
|
173
|
+
<aws:Days>1</aws:Days>
|
174
|
+
</aws:TimeRange>
|
175
|
+
<aws:Rank>
|
176
|
+
<aws:Value>568</aws:Value>
|
177
|
+
<aws:Delta>-292</aws:Delta>
|
178
|
+
</aws:Rank>
|
179
|
+
<aws:Reach>
|
180
|
+
<aws:Rank>
|
181
|
+
<aws:Value>723</aws:Value>
|
182
|
+
<aws:Delta>-401</aws:Delta>
|
183
|
+
</aws:Rank>
|
184
|
+
<aws:PerMillion>
|
185
|
+
<aws:Value>1,660</aws:Value>
|
186
|
+
<aws:Delta>+40%</aws:Delta>
|
187
|
+
</aws:PerMillion>
|
188
|
+
</aws:Reach>
|
189
|
+
<aws:PageViews>
|
190
|
+
<aws:PerMillion>
|
191
|
+
<aws:Value>153</aws:Value>
|
192
|
+
<aws:Delta>+50%</aws:Delta>
|
193
|
+
</aws:PerMillion>
|
194
|
+
<aws:Rank>
|
195
|
+
<aws:Value>408</aws:Value>
|
196
|
+
<aws:Delta>-208</aws:Delta>
|
197
|
+
</aws:Rank>
|
198
|
+
<aws:PerUser>
|
199
|
+
<aws:Value>8.9</aws:Value>
|
200
|
+
<aws:Delta>+7%</aws:Delta>
|
201
|
+
</aws:PerUser>
|
202
|
+
</aws:PageViews>
|
203
|
+
</aws:UsageStatistic>
|
204
|
+
</aws:UsageStatistics>
|
205
|
+
<aws:ContributingSubdomains>
|
206
|
+
<aws:ContributingSubdomain>
|
207
|
+
<aws:DataUrl>flippa.com</aws:DataUrl>
|
208
|
+
<aws:TimeRange>
|
209
|
+
<aws:Months>1</aws:Months>
|
210
|
+
</aws:TimeRange>
|
211
|
+
<aws:Reach>
|
212
|
+
<aws:Percentage>99.93%</aws:Percentage>
|
213
|
+
</aws:Reach>
|
214
|
+
<aws:PageViews>
|
215
|
+
<aws:Percentage>99.39%</aws:Percentage>
|
216
|
+
<aws:PerUser>9.16</aws:PerUser>
|
217
|
+
</aws:PageViews>
|
218
|
+
</aws:ContributingSubdomain>
|
219
|
+
<aws:ContributingSubdomain>
|
220
|
+
<aws:DataUrl>support.flippa.com</aws:DataUrl>
|
221
|
+
<aws:TimeRange>
|
222
|
+
<aws:Months>1</aws:Months>
|
223
|
+
</aws:TimeRange>
|
224
|
+
<aws:Reach>
|
225
|
+
<aws:Percentage>2.81%</aws:Percentage>
|
226
|
+
</aws:Reach>
|
227
|
+
<aws:PageViews>
|
228
|
+
<aws:Percentage>0.61%</aws:Percentage>
|
229
|
+
<aws:PerUser>1.98</aws:PerUser>
|
230
|
+
</aws:PageViews>
|
231
|
+
</aws:ContributingSubdomain>
|
232
|
+
</aws:ContributingSubdomains>
|
7
233
|
</aws:TrafficData>
|
8
|
-
</aws:Alexa
|
234
|
+
</aws:Alexa>
|
235
|
+
</aws:UrlInfoResult>
|
236
|
+
<aws:ResponseStatus xmlns:aws="http://alexa.amazonaws.com/doc/2005-10-05/">
|
237
|
+
<aws:StatusCode>Success
|
238
|
+
</aws:StatusCode>
|
239
|
+
</aws:ResponseStatus>
|
240
|
+
</aws:Response>
|
241
|
+
</aws:UrlInfoResponse>
|
data/spec/url_info_spec.rb
CHANGED
@@ -2,26 +2,118 @@ require_relative "spec_helper"
|
|
2
2
|
|
3
3
|
module Ralexa
|
4
4
|
describe UrlInfo do
|
5
|
-
|
6
5
|
let(:url_info) { UrlInfo.new(client) }
|
7
|
-
let(:client)
|
6
|
+
let(:client) { MiniTest::Mock.new }
|
8
7
|
|
9
8
|
describe "#rank" do
|
10
9
|
def expected_params
|
11
10
|
{
|
12
11
|
"Action" => "UrlInfo",
|
13
|
-
"ResponseGroup" => "
|
14
|
-
"Url" => "
|
12
|
+
"ResponseGroup" => "Related,TrafficData,ContentData",
|
13
|
+
"Url" => "flippa.com"
|
15
14
|
}
|
16
15
|
end
|
16
|
+
|
17
17
|
before do
|
18
18
|
client.expect :get, fixture("rank.xml"),
|
19
19
|
["awis.amazonaws.com", "/", expected_params]
|
20
20
|
end
|
21
|
+
|
21
22
|
it "fetches, parses, and returns the site's rank" do
|
22
|
-
rank = url_info.rank("
|
23
|
-
rank.must_equal
|
24
|
-
end
|
23
|
+
rank = url_info.rank("flippa.com")
|
24
|
+
rank.must_equal 932
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe "#info" do
|
29
|
+
def expected_params
|
30
|
+
{
|
31
|
+
"Action" => "UrlInfo",
|
32
|
+
"ResponseGroup" => "Related,TrafficData,ContentData",
|
33
|
+
"Url" => "flippa.com"
|
34
|
+
}
|
35
|
+
end
|
36
|
+
|
37
|
+
before do
|
38
|
+
client.expect :get, fixture("rank.xml"),
|
39
|
+
["awis.amazonaws.com", "/", expected_params]
|
40
|
+
end
|
41
|
+
|
42
|
+
it "returns the alexa speed median load time in the result" do
|
43
|
+
result = url_info.get("flippa.com")[:speed_median_load_time]
|
44
|
+
result.must_equal 1930
|
45
|
+
end
|
46
|
+
|
47
|
+
it "returns the alexa speed load percentile in the result" do
|
48
|
+
result = url_info.get("flippa.com")[:speed_load_percentile]
|
49
|
+
result.must_equal 42
|
50
|
+
end
|
51
|
+
|
52
|
+
it "returns the alexa link count in the result" do
|
53
|
+
result = url_info.get("flippa.com")[:link_count]
|
54
|
+
result.must_equal 1788
|
55
|
+
end
|
56
|
+
|
57
|
+
it "returns the alexa ranking in the result" do
|
58
|
+
result = url_info.get("flippa.com")[:ranking]
|
59
|
+
result.must_equal 932
|
60
|
+
end
|
61
|
+
|
62
|
+
it "returns the alexa ranking delta in the result" do
|
63
|
+
result = url_info.get("flippa.com")[:ranking_delta]
|
64
|
+
result.must_equal -695
|
65
|
+
end
|
66
|
+
|
67
|
+
it "returns the alexa reach rank in the result" do
|
68
|
+
result = url_info.get("flippa.com")[:reach_rank]
|
69
|
+
result.must_equal 1230
|
70
|
+
end
|
71
|
+
|
72
|
+
it "returns the alexa reach rank delta in the result" do
|
73
|
+
result = url_info.get("flippa.com")[:reach_rank_delta]
|
74
|
+
result.must_equal -868
|
75
|
+
end
|
76
|
+
|
77
|
+
it "returns the alexa reach per million in the result" do
|
78
|
+
result = url_info.get("flippa.com")[:reach_per_million]
|
79
|
+
result.must_equal 1093
|
80
|
+
end
|
81
|
+
|
82
|
+
it "returns the alexa reach per million delta in the result" do
|
83
|
+
result = url_info.get("flippa.com")[:reach_per_million_delta]
|
84
|
+
result.must_equal 90
|
85
|
+
end
|
86
|
+
|
87
|
+
it "returns the alexa page views rank in the result" do
|
88
|
+
result = url_info.get("flippa.com")[:page_views_rank]
|
89
|
+
result.must_equal 579
|
90
|
+
end
|
91
|
+
|
92
|
+
it "returns the alexa page views rank delta in the result" do
|
93
|
+
result = url_info.get("flippa.com")[:page_views_rank_delta]
|
94
|
+
result.must_equal -406
|
95
|
+
end
|
96
|
+
|
97
|
+
it "returns the alexa page views per million in the result" do
|
98
|
+
result = url_info.get("flippa.com")[:page_views_per_million]
|
99
|
+
result.must_equal 98
|
100
|
+
end
|
101
|
+
|
102
|
+
it "returns the alexa page views per million delta in the result" do
|
103
|
+
result = url_info.get("flippa.com")[:page_views_per_million_delta]
|
104
|
+
result.must_equal 92
|
105
|
+
end
|
106
|
+
|
107
|
+
it "returns the alexa page views per user in the result" do
|
108
|
+
result = url_info.get("flippa.com")[:page_views_per_user]
|
109
|
+
result.must_equal 9
|
110
|
+
end
|
111
|
+
|
112
|
+
it "returns the alexa page views per user delta in the result" do
|
113
|
+
result = url_info.get("flippa.com")[:page_views_per_user_delta]
|
114
|
+
result.must_equal 1
|
115
|
+
end
|
116
|
+
|
25
117
|
end
|
26
118
|
|
27
119
|
end
|
metadata
CHANGED
@@ -1,78 +1,69 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ralexa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.8
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Paul Annesley
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-10-23 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: addressable
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: 2.2.7
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - '>='
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: 2.2.7
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: nokogiri
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - '>='
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - '>='
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: minitest
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - '>='
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - '>='
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: rake
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - '>='
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: '0'
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - '>='
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: '0'
|
78
69
|
description: Ruby client for Amazon Alexa APIs.
|
@@ -117,26 +108,25 @@ files:
|
|
117
108
|
- spec/url_info_spec.rb
|
118
109
|
homepage: https://github.com/flippa/ralexa
|
119
110
|
licenses: []
|
111
|
+
metadata: {}
|
120
112
|
post_install_message:
|
121
113
|
rdoc_options: []
|
122
114
|
require_paths:
|
123
115
|
- lib
|
124
116
|
required_ruby_version: !ruby/object:Gem::Requirement
|
125
|
-
none: false
|
126
117
|
requirements:
|
127
|
-
- -
|
118
|
+
- - '>='
|
128
119
|
- !ruby/object:Gem::Version
|
129
120
|
version: '0'
|
130
121
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
131
|
-
none: false
|
132
122
|
requirements:
|
133
|
-
- -
|
123
|
+
- - '>='
|
134
124
|
- !ruby/object:Gem::Version
|
135
125
|
version: '0'
|
136
126
|
requirements: []
|
137
127
|
rubyforge_project:
|
138
|
-
rubygems_version:
|
128
|
+
rubygems_version: 2.0.2
|
139
129
|
signing_key:
|
140
|
-
specification_version:
|
130
|
+
specification_version: 4
|
141
131
|
summary: Ruby client for Amazon Alexa APIs such as TopSites.
|
142
132
|
test_files: []
|