morgoth-alexa 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -11,6 +11,9 @@
11
11
  :links_in_count, :keywords, :related_links, :speed_median_load_time, :speed_percentile,
12
12
  :rank_by_country, :rank_by_city, :usage_statistics
13
13
 
14
+ == Contributors
15
+ * rmoriz[http://github.com/rmoriz]
16
+
14
17
  == Copyright
15
18
 
16
19
  Copyright (c) 2009 Wojciech Wnętrzak. See LICENSE for details.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.4
1
+ 0.0.5
data/alexa.gemspec CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{alexa}
5
- s.version = "0.0.4"
5
+ s.version = "0.0.5"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Wojciech Wnętrzak"]
9
- s.date = %q{2009-07-07}
9
+ s.date = %q{2009-07-23}
10
10
  s.email = %q{w.wnetrzak@gmail.com}
11
11
  s.extra_rdoc_files = [
12
12
  "LICENSE",
@@ -31,7 +31,7 @@ Gem::Specification.new do |s|
31
31
  s.homepage = %q{http://github.com/morgoth/alexa}
32
32
  s.rdoc_options = ["--charset=UTF-8"]
33
33
  s.require_paths = ["lib"]
34
- s.rubygems_version = %q{1.3.4}
34
+ s.rubygems_version = %q{1.3.5}
35
35
  s.summary = %q{Alexa Web Information Service library}
36
36
  s.test_files = [
37
37
  "test/alexa_test.rb",
@@ -25,7 +25,7 @@ module Alexa
25
25
  end
26
26
 
27
27
  def parse_xml(xml)
28
- xml = XmlSimple.xml_in(xml.force_encoding(Encoding::UTF_8), 'ForceArray' => false)
28
+ xml = XmlSimple.xml_in(force_encoding(xml), 'ForceArray' => false)
29
29
  group = response_group.split(',')
30
30
  alexa = xml['Response']['UrlInfoResult']['Alexa']
31
31
  @rank = alexa['TrafficData']['Rank'].to_i if group.include?('Rank') and !alexa['TrafficData']['Rank'].empty?
@@ -48,6 +48,14 @@ module Alexa
48
48
 
49
49
  private
50
50
 
51
+ def force_encoding(xml)
52
+ if RUBY_VERSION >= '1.9'
53
+ xml.force_encoding(Encoding::UTF_8)
54
+ else
55
+ xml
56
+ end
57
+ end
58
+
51
59
  def handle_response(response)
52
60
  case response.code.to_i
53
61
  when 200...300
data/test/alexa_test.rb CHANGED
@@ -4,10 +4,10 @@ class AlexaTest < Test::Unit::TestCase
4
4
  context "Alexa::UrlInfo" do
5
5
  setup do
6
6
  @alexa = Alexa::UrlInfo.new(
7
- :access_key_id => "12345678901234567890",
8
- :secret_access_key => "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDF",
9
- :host => "some.host"
10
- )
7
+ :access_key_id => "12345678901234567890",
8
+ :secret_access_key => "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDF",
9
+ :host => "some.host"
10
+ )
11
11
  end
12
12
 
13
13
  should "Generate signature" do
@@ -15,17 +15,21 @@ class AlexaTest < Test::Unit::TestCase
15
15
  assert_equal "I1mPdBy+flhhzqqUaamNq9gq190=", signature
16
16
  end
17
17
 
18
- should "Generatee url" do
18
+ should "Generate url" do
19
19
  url = @alexa.send( :generate_url,
20
- "UrlInfo",
21
- @alexa.access_key_id,
22
- "I1mPdBy+flhhzqqUaamNq9gq190=",
23
- '2009-07-03T07:22:24.000Z',
24
- "Rank,ContactInfo,AdultContent,Speed,Language,Keywords,OwnedDomains,LinksInCount,SiteData,RelatedLinks",
25
- "heroku.com"
26
- )
27
- expected_uri = "/?Action=UrlInfo&AWSAccessKeyId=12345678901234567890&Signature=I1mPdBy%2BflhhzqqUaamNq9gq190%3D&Timestamp=2009-07-03T07%3A22%3A24.000Z&ResponseGroup=Rank%2CContactInfo%2CAdultContent%2CSpeed%2CLanguage%2CKeywords%2COwnedDomains%2CLinksInCount%2CSiteData%2CRelatedLinks&Url=heroku.com"
28
- assert_equal expected_uri, url.request_uri
20
+ "UrlInfo",
21
+ @alexa.access_key_id,
22
+ "I1mPdBy+flhhzqqUaamNq9gq190=",
23
+ '2009-07-03T07:22:24.000Z',
24
+ "Rank,ContactInfo,AdultContent,Speed,Language,Keywords,OwnedDomains,LinksInCount,SiteData,RelatedLinks",
25
+ "heroku.com"
26
+ )
27
+ if RUBY_VERSION >= '1.9'
28
+ expected_uri = "/?Action=UrlInfo&AWSAccessKeyId=12345678901234567890&Signature=I1mPdBy%2BflhhzqqUaamNq9gq190%3D&Timestamp=2009-07-03T07%3A22%3A24.000Z&ResponseGroup=Rank%2CContactInfo%2CAdultContent%2CSpeed%2CLanguage%2CKeywords%2COwnedDomains%2CLinksInCount%2CSiteData%2CRelatedLinks&Url=heroku.com"
29
+ else
30
+ expected_uri = "/?Action=UrlInfo&Signature=I1mPdBy%2BflhhzqqUaamNq9gq190%3D&AWSAccessKeyId=12345678901234567890&Url=heroku.com&Timestamp=2009-07-03T07%3A22%3A24.000Z&ResponseGroup=Rank%2CContactInfo%2CAdultContent%2CSpeed%2CLanguage%2CKeywords%2COwnedDomains%2CLinksInCount%2CSiteData%2CRelatedLinks"
31
+ assert_equal expected_uri, url.request_uri
32
+ end
29
33
  assert_equal "awis.amazonaws.com", url.host
30
34
  end
31
35
 
@@ -196,25 +200,25 @@ class AlexaTest < Test::Unit::TestCase
196
200
  end
197
201
 
198
202
  should "Raise argumment error if keys or host are not present" do
199
- assert_raise ArgumentError, do
203
+ assert_raise ArgumentError do
200
204
  Alexa::UrlInfo.new(
201
- :secret_access_key => "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDF",
202
- :host => "some.host"
205
+ :secret_access_key => "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDF",
206
+ :host => "some.host"
203
207
  )
204
208
  end
205
209
 
206
- assert_raise ArgumentError, do
210
+ assert_raise ArgumentError do
207
211
  Alexa::UrlInfo.new(
208
- :access_key_id => "12345678901234567890",
209
- :host => "some.host"
212
+ :access_key_id => "12345678901234567890",
213
+ :host => "some.host"
210
214
  )
211
215
  end
212
216
 
213
- assert_raise ArgumentError, do
217
+ assert_raise ArgumentError do
214
218
  Alexa::UrlInfo.new(
215
- :access_key_id => "12345678901234567890",
216
- :secret_access_key => "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDF",
219
+ :access_key_id => "12345678901234567890",
220
+ :secret_access_key => "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDF"
217
221
  )
218
222
  end
219
223
  end
220
- end
224
+ end
data/test/test_helper.rb CHANGED
@@ -13,4 +13,5 @@ def fixture_file(filename)
13
13
  return '' if filename == ''
14
14
  file_path = File.expand_path(File.dirname(__FILE__) + '/fixtures/' + filename)
15
15
  File.read(file_path)
16
- end
16
+ end
17
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: morgoth-alexa
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - "Wojciech Wn\xC4\x99trzak"
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-07-07 00:00:00 -07:00
12
+ date: 2009-07-23 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency