libravatar 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 7341a3c99b8e83267d944cc3be27a8d01b6e2511
4
+ data.tar.gz: c32bfa4a5975accb25f07da5e5afaeef2df7e6a9
5
+ SHA512:
6
+ metadata.gz: b04fec26d5ef9f430210d23bad07ca7a7b28c2dedae8bb0f5275038101dd22ea39c16170d022878dfda333d08121d9e35bb50a24b281082bb2c33c6ba93f35e6
7
+ data.tar.gz: 5482a092d0ebb22201ea3163d290029a1f8dcb1fffb89d6f078180559bdc5f9161830481ea38fa8205c02c2c8179a3e20791a94aca23f75231c94c194551501f
@@ -0,0 +1,5 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+ - 2.0.0
5
+ - 2.2.0
data/Gemfile ADDED
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+ gem 'jeweler'
3
+ gem 'shoulda'
4
+ gem 'minitest', '4.7.5'
5
+
@@ -0,0 +1,73 @@
1
+ GEM
2
+ remote: https://rubygems.org/
3
+ specs:
4
+ activesupport (4.0.13)
5
+ i18n (~> 0.6, >= 0.6.9)
6
+ minitest (~> 4.2)
7
+ multi_json (~> 1.3)
8
+ thread_safe (~> 0.1)
9
+ tzinfo (~> 0.3.37)
10
+ addressable (2.4.0)
11
+ builder (3.2.2)
12
+ descendants_tracker (0.0.4)
13
+ thread_safe (~> 0.3, >= 0.3.1)
14
+ faraday (0.9.2)
15
+ multipart-post (>= 1.2, < 3)
16
+ git (1.3.0)
17
+ github_api (0.13.1)
18
+ addressable (~> 2.4.0)
19
+ descendants_tracker (~> 0.0.4)
20
+ faraday (~> 0.8, < 0.10)
21
+ hashie (>= 3.4)
22
+ multi_json (>= 1.7.5, < 2.0)
23
+ oauth2
24
+ hashie (3.4.3)
25
+ highline (1.7.8)
26
+ i18n (0.7.0)
27
+ jeweler (2.0.1)
28
+ builder
29
+ bundler (>= 1.0)
30
+ git (>= 1.2.5)
31
+ github_api
32
+ highline (>= 1.6.15)
33
+ nokogiri (>= 1.5.10)
34
+ rake
35
+ rdoc
36
+ json (1.8.3)
37
+ jwt (1.5.1)
38
+ mini_portile2 (2.0.0)
39
+ minitest (4.7.5)
40
+ multi_json (1.11.2)
41
+ multi_xml (0.5.5)
42
+ multipart-post (2.0.0)
43
+ nokogiri (1.6.7.2)
44
+ mini_portile2 (~> 2.0.0.rc2)
45
+ oauth2 (1.1.0)
46
+ faraday (>= 0.8, < 0.10)
47
+ jwt (~> 1.0, < 1.5.2)
48
+ multi_json (~> 1.3)
49
+ multi_xml (~> 0.5)
50
+ rack (>= 1.2, < 3)
51
+ rack (1.6.4)
52
+ rake (11.1.1)
53
+ rdoc (4.2.2)
54
+ json (~> 1.4)
55
+ shoulda (3.5.0)
56
+ shoulda-context (~> 1.0, >= 1.0.1)
57
+ shoulda-matchers (>= 1.4.1, < 3.0)
58
+ shoulda-context (1.2.1)
59
+ shoulda-matchers (2.8.0)
60
+ activesupport (>= 3.0.0)
61
+ thread_safe (0.3.5)
62
+ tzinfo (0.3.48)
63
+
64
+ PLATFORMS
65
+ ruby
66
+
67
+ DEPENDENCIES
68
+ jeweler
69
+ minitest (= 4.7.5)
70
+ shoulda
71
+
72
+ BUNDLED WITH
73
+ 1.11.2
data/Rakefile CHANGED
@@ -26,16 +26,9 @@ Rake::TestTask.new(:test) do |test|
26
26
  test.verbose = true
27
27
  end
28
28
 
29
- require 'rcov/rcovtask'
30
- Rcov::RcovTask.new do |test|
31
- test.libs << 'test'
32
- test.pattern = 'test/**/test_*.rb'
33
- test.verbose = true
34
- end
35
-
36
29
  task :default => :test
37
30
 
38
- require 'rake/rdoctask'
31
+ require 'rdoc/task'
39
32
  Rake::RDocTask.new do |rdoc|
40
33
  version = File.exist?('VERSION') ? File.read('VERSION') : ""
41
34
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.2.0
1
+ 1.3.0
@@ -67,15 +67,12 @@ class Libravatar
67
67
 
68
68
  min_priority = rrs.map{ |r| r.priority }.min
69
69
  rrs.delete_if{ |r| r.priority != min_priority }
70
- rrs = rrs.select{ |r| r.weight == 0 } +
71
- rrs.select{ |r| r.weight > 0 }.shuffle
72
-
73
- weight_sum = rrs.inject(0) { |a,r| a+r.weight }
74
- value = rand( weight_sum + 1 )
75
- rrs.each do |r|
76
- return [r.target, r.port] if r.weight <= value
77
- value -= r.weight
78
- end
70
+
71
+ weight_sum = rrs.inject(0) { |a,r| a+r.weight }.to_f
72
+
73
+ r = rrs.max_by { |r| r.weight == 0 ? 0 : rand ** (weight_sum / r.weight) }
74
+
75
+ return [r.target, r.port]
79
76
  end
80
77
  end
81
78
 
@@ -84,7 +81,7 @@ class Libravatar
84
81
  target, port = srv_lookup
85
82
 
86
83
  if (target && port)
87
- port_fragment = port != profile[:port] ? ':' + port : ''
84
+ port_fragment = port != profile[:port] ? ':' + port.to_s : ''
88
85
  return profile[:scheme] + target.to_s + port_fragment
89
86
  else
90
87
  return profile[:scheme] + profile[:host]
@@ -4,20 +4,23 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = %q{libravatar}
8
- s.version = "1.2.0"
7
+ s.name = "libravatar"
8
+ s.version = "1.3.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Kang-min Liu"]
12
- s.date = %q{2011-07-24}
13
- s.description = %q{libravatar.org provides avatar image hosting (like gravatar.com). Their users may associate avatar images with email or openid. This rubygem can be used to generate libravatar avatar image URL}
14
- s.email = %q{gugod@gugod.org}
12
+ s.date = "2016-03-27"
13
+ s.description = "libravatar.org provides avatar image hosting (like gravatar.com). Their users may associate avatar images with email or openid. This rubygem can be used to generate libravatar avatar image URL"
14
+ s.email = "gugod@gugod.org"
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE.txt",
17
17
  "README.rdoc"
18
18
  ]
19
19
  s.files = [
20
20
  ".document",
21
+ ".travis.yml",
22
+ "Gemfile",
23
+ "Gemfile.lock",
21
24
  "LICENSE.txt",
22
25
  "README.rdoc",
23
26
  "Rakefile",
@@ -27,21 +30,30 @@ Gem::Specification.new do |s|
27
30
  "test/helper.rb",
28
31
  "test/test_libravatar.rb"
29
32
  ]
30
- s.homepage = %q{http://github.com/gugod/libravatar}
33
+ s.homepage = "http://github.com/gugod/libravatar"
31
34
  s.licenses = ["MIT"]
32
35
  s.require_paths = ["lib"]
33
- s.rubygems_version = %q{1.6.1}
34
- s.summary = %q{Avatar URL Generation wih libravatar.org}
36
+ s.rubygems_version = "2.0.14.1"
37
+ s.summary = "Avatar URL Generation wih libravatar.org"
35
38
 
36
39
  if s.respond_to? :specification_version then
37
- s.specification_version = 3
40
+ s.specification_version = 4
38
41
 
39
42
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
43
+ s.add_runtime_dependency(%q<jeweler>, [">= 0"])
44
+ s.add_runtime_dependency(%q<shoulda>, [">= 0"])
45
+ s.add_runtime_dependency(%q<minitest>, ["= 4.7.5"])
40
46
  s.add_development_dependency(%q<shoulda>, ["> 1.2.3"])
41
47
  else
48
+ s.add_dependency(%q<jeweler>, [">= 0"])
49
+ s.add_dependency(%q<shoulda>, [">= 0"])
50
+ s.add_dependency(%q<minitest>, ["= 4.7.5"])
42
51
  s.add_dependency(%q<shoulda>, ["> 1.2.3"])
43
52
  end
44
53
  else
54
+ s.add_dependency(%q<jeweler>, [">= 0"])
55
+ s.add_dependency(%q<shoulda>, [">= 0"])
56
+ s.add_dependency(%q<minitest>, ["= 4.7.5"])
45
57
  s.add_dependency(%q<shoulda>, ["> 1.2.3"])
46
58
  end
47
59
  end
@@ -1,4 +1,5 @@
1
1
  require 'rubygems'
2
+ require 'minitest/autorun'
2
3
  require 'test/unit'
3
4
  require 'shoulda'
4
5
 
@@ -5,17 +5,17 @@ class TestLibravatar < Test::Unit::TestCase
5
5
  # echo -n "user@example.com"|md5sum
6
6
  # => b58996c504c5638798eb6b511e6f49af
7
7
  avatar = Libravatar.new(:email => "user@example.com")
8
- assert_equal avatar.to_s, "http://cdn.libravatar.org/avatar/b58996c504c5638798eb6b511e6f49af"
9
8
 
10
- assert_equal Libravatar.new(:email => "USER@ExAmPlE.CoM").to_s, "http://cdn.libravatar.org/avatar/b58996c504c5638798eb6b511e6f49af"
9
+ re = /http:\/\/.+\/avatar\/b58996c504c5638798eb6b511e6f49af$/
10
+ assert avatar.to_s.match(re)
11
+ assert Libravatar.new(:email => "USER@ExAmPlE.CoM").to_s.match(re)
11
12
 
12
- assert_equal Libravatar.new(:email => "user@example.com", :https => true).to_s, "https://seccdn.libravatar.org/avatar/b58996c504c5638798eb6b511e6f49af"
13
+ assert_equal Libravatar.new(:email => "user@example.com", :https => true).to_s[0,8], "https://"
14
+ assert_equal Libravatar.new(:email => "user@example.com", :https => false).to_s[0,7], "http://"
13
15
 
14
- assert_equal Libravatar.new(:email => "user@example.com", :https => false).to_s, "http://cdn.libravatar.org/avatar/b58996c504c5638798eb6b511e6f49af"
16
+ assert Libravatar.new(:email => "USER@ExAmPlE.CoM", :default => "http://example.com/avatar.png").to_s.match(/http:\/\/.+\/avatar\/b58996c504c5638798eb6b511e6f49af\?d=http:\/\/example\.com\/avatar\.png/)
15
17
 
16
- assert_equal Libravatar.new(:email => "USER@ExAmPlE.CoM", :default => "http://example.com/avatar.png").to_s, "http://cdn.libravatar.org/avatar/b58996c504c5638798eb6b511e6f49af?d=http://example.com/avatar.png"
17
-
18
- assert_equal Libravatar.new(:email => "USER@ExAmPlE.CoM", :size => 512, :default => "mm").to_s, "http://cdn.libravatar.org/avatar/b58996c504c5638798eb6b511e6f49af?s=512&d=mm"
18
+ assert_equal Libravatar.new(:email => "USER@ExAmPlE.CoM", :size => 512, :default => "mm").to_s[-43,43], "b58996c504c5638798eb6b511e6f49af?s=512&d=mm"
19
19
  end
20
20
 
21
21
  should "Generate url from openid" do
@@ -34,13 +34,12 @@ class TestLibravatar < Test::Unit::TestCase
34
34
  should "Normalize OpenID" do
35
35
  x = Libravatar.new
36
36
  assert_equal x.send(:normalize_openid, "HTTP://EXAMPLE.COM/id/Bob"), "http://example.com/id/Bob"
37
-
38
37
  assert_equal x.send(:normalize_openid, "HTTP://EXAMPLE.COM"), "http://example.com/"
39
38
  end
40
39
 
41
40
  should "Return the federated URI" do
42
41
  avatar = Libravatar.new(:email => 'invalid@catalyst.net.nz')
43
- assert_equal avatar.to_s, 'http://static.avatars.catalyst.net.nz/avatar/f924d1e9f2c10ee9efa7acdd16484c2f'
42
+ assert avatar.to_s.match(/http:\/\/.+\/avatar\/f924d1e9f2c10ee9efa7acdd16484c2f$/)
44
43
  end
45
44
 
46
45
  should "Sanitize the SRV lookup result" do
metadata CHANGED
@@ -1,50 +1,85 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: libravatar
3
- version: !ruby/object:Gem::Version
4
- hash: 31
5
- prerelease:
6
- segments:
7
- - 1
8
- - 2
9
- - 0
10
- version: 1.2.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.3.0
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Kang-min Liu
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2011-07-24 00:00:00 +08:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
11
+ date: 2016-03-27 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: jeweler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
22
28
  name: shoulda
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: minitest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '='
46
+ - !ruby/object:Gem::Version
47
+ version: 4.7.5
48
+ type: :runtime
23
49
  prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ">"
28
- - !ruby/object:Gem::Version
29
- hash: 25
30
- segments:
31
- - 1
32
- - 2
33
- - 3
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '='
53
+ - !ruby/object:Gem::Version
54
+ version: 4.7.5
55
+ - !ruby/object:Gem::Dependency
56
+ name: shoulda
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>'
60
+ - !ruby/object:Gem::Version
34
61
  version: 1.2.3
35
62
  type: :development
36
- version_requirements: *id001
37
- description: libravatar.org provides avatar image hosting (like gravatar.com). Their users may associate avatar images with email or openid. This rubygem can be used to generate libravatar avatar image URL
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>'
67
+ - !ruby/object:Gem::Version
68
+ version: 1.2.3
69
+ description: libravatar.org provides avatar image hosting (like gravatar.com). Their
70
+ users may associate avatar images with email or openid. This rubygem can be used
71
+ to generate libravatar avatar image URL
38
72
  email: gugod@gugod.org
39
73
  executables: []
40
-
41
74
  extensions: []
42
-
43
- extra_rdoc_files:
75
+ extra_rdoc_files:
44
76
  - LICENSE.txt
45
77
  - README.rdoc
46
- files:
78
+ files:
47
79
  - .document
80
+ - .travis.yml
81
+ - Gemfile
82
+ - Gemfile.lock
48
83
  - LICENSE.txt
49
84
  - README.rdoc
50
85
  - Rakefile
@@ -53,39 +88,28 @@ files:
53
88
  - libravatar.gemspec
54
89
  - test/helper.rb
55
90
  - test/test_libravatar.rb
56
- has_rdoc: true
57
91
  homepage: http://github.com/gugod/libravatar
58
- licenses:
92
+ licenses:
59
93
  - MIT
94
+ metadata: {}
60
95
  post_install_message:
61
96
  rdoc_options: []
62
-
63
- require_paths:
97
+ require_paths:
64
98
  - lib
65
- required_ruby_version: !ruby/object:Gem::Requirement
66
- none: false
67
- requirements:
68
- - - ">="
69
- - !ruby/object:Gem::Version
70
- hash: 3
71
- segments:
72
- - 0
73
- version: "0"
74
- required_rubygems_version: !ruby/object:Gem::Requirement
75
- none: false
76
- requirements:
77
- - - ">="
78
- - !ruby/object:Gem::Version
79
- hash: 3
80
- segments:
81
- - 0
82
- version: "0"
99
+ required_ruby_version: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ required_rubygems_version: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - '>='
107
+ - !ruby/object:Gem::Version
108
+ version: '0'
83
109
  requirements: []
84
-
85
110
  rubyforge_project:
86
- rubygems_version: 1.6.1
111
+ rubygems_version: 2.0.14.1
87
112
  signing_key:
88
- specification_version: 3
113
+ specification_version: 4
89
114
  summary: Avatar URL Generation wih libravatar.org
90
115
  test_files: []
91
-