libravatar 1.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
-