my_gravatar 0.0.1 → 0.0.2
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.
- data/.gitignore +4 -0
- data/Gemfile +4 -0
- data/Rakefile +2 -0
- data/lib/gravatar.rb +3 -0
- data/lib/my_gravatar.rb +83 -0
- data/lib/my_gravatar.rb~ +81 -0
- data/lib/my_gravatar/gravatar.rb~ +0 -0
- data/lib/my_gravatar/version.rb +3 -0
- data/my_gravatar.gemspec +21 -0
- data/my_gravatar.gemspec~ +21 -0
- metadata +14 -5
data/.gitignore
ADDED
data/Gemfile
ADDED
data/Rakefile
ADDED
data/lib/gravatar.rb
ADDED
data/lib/my_gravatar.rb
ADDED
@@ -0,0 +1,83 @@
|
|
1
|
+
module MyGravatar
|
2
|
+
|
3
|
+
@gravatar_params
|
4
|
+
|
5
|
+
def set_params(img_params)
|
6
|
+
@gravatar_params = img_params
|
7
|
+
end
|
8
|
+
|
9
|
+
def show_gravatar
|
10
|
+
raise ArgumentError, "No value specified for email" unless @gravatar_params.has_key?("email")
|
11
|
+
|
12
|
+
generate_request_url
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
def generate_request_url
|
18
|
+
url_params = []
|
19
|
+
|
20
|
+
#the gravatar url
|
21
|
+
url = request_url(@gravatar_params.has_key?("https") ? @gravatar_params("https") : false)
|
22
|
+
|
23
|
+
#hashed email
|
24
|
+
hash_email = md5hash(@gravatar_params("email"))
|
25
|
+
|
26
|
+
#assign the extra params the user pass
|
27
|
+
["size", "default_image", "rating"].each do |k|
|
28
|
+
v = gravatar_param_key(k)
|
29
|
+
value = @gravatar_params.has_key?(k) ? @gravatar_params(k) : gravatar_default_value(k)
|
30
|
+
url_params << "#{v}=#{value}"
|
31
|
+
end
|
32
|
+
|
33
|
+
#generate the url to be called
|
34
|
+
gravatar_image_url = []
|
35
|
+
gravatar_image_url << url
|
36
|
+
gravatar_image_url << hash_email
|
37
|
+
gravatar_image_url << url_params.join("/")
|
38
|
+
|
39
|
+
gravatar_image_url.join("/")
|
40
|
+
end
|
41
|
+
|
42
|
+
#return the relevant url key
|
43
|
+
def gravatar_param_key(key)
|
44
|
+
case (key)
|
45
|
+
when "size" : return "s"
|
46
|
+
when "default_image" : return "d"
|
47
|
+
when "rating" : return "r"
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
#return the default values
|
52
|
+
def gravatar_default_value(key)
|
53
|
+
case (key)
|
54
|
+
when "size" : return default_size
|
55
|
+
when "default_image" : return default_image
|
56
|
+
when "rating" : return default_rating
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
def default_size
|
61
|
+
"200"
|
62
|
+
end
|
63
|
+
|
64
|
+
def default_image
|
65
|
+
"retro"
|
66
|
+
end
|
67
|
+
|
68
|
+
def default_rating
|
69
|
+
"g"
|
70
|
+
end
|
71
|
+
|
72
|
+
def request_url(https)
|
73
|
+
https? "https://secure.gravatar.com/avatar/" : "http://www.gravatar.com/avatar/"
|
74
|
+
end
|
75
|
+
|
76
|
+
def md5hash(value)
|
77
|
+
require 'digest/md5'
|
78
|
+
digest = Digest::MD5.hexdigest(value.lstrip.rstrip.downcase)
|
79
|
+
|
80
|
+
digest
|
81
|
+
end
|
82
|
+
|
83
|
+
end
|
data/lib/my_gravatar.rb~
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
module MyGravatar
|
2
|
+
|
3
|
+
@gravatar_params
|
4
|
+
|
5
|
+
def set_params(img_params)
|
6
|
+
@gravatar_params = img_params
|
7
|
+
end
|
8
|
+
|
9
|
+
def show_gravatar
|
10
|
+
raise ArgumentError, "No value specified for email" unless @gravatar_params.has_key?("email")
|
11
|
+
|
12
|
+
generate_request_url
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
def generate_request_url
|
18
|
+
url_params = []
|
19
|
+
|
20
|
+
#the gravatar url
|
21
|
+
url = request_url(@gravatar_params.has_key?("https") ? @gravatar_params("https") : false)
|
22
|
+
|
23
|
+
#hashed email
|
24
|
+
hash_email = md5hash(@gravatar_params("email"))
|
25
|
+
|
26
|
+
#assign the extra params the user pass
|
27
|
+
["size", "default_image", "rating"].each do |k|
|
28
|
+
v = gravatar_param_key(k)
|
29
|
+
value = @gravatar_params.has_key?(k) ? @gravatar_params(k) : gravatar_default_value(k)
|
30
|
+
url_params << "#{v}=#{value}"
|
31
|
+
end
|
32
|
+
|
33
|
+
#generate the url to be called
|
34
|
+
gravatar_image_url = []
|
35
|
+
gravatar_image_url << url
|
36
|
+
gravatar_image_url << hash_email
|
37
|
+
gravatar_image_url << url_params.join("/")
|
38
|
+
|
39
|
+
gravatar_image_url.join("/")
|
40
|
+
end
|
41
|
+
|
42
|
+
def gravatar_param_key(key)
|
43
|
+
case (key)
|
44
|
+
when "size" : return "s"
|
45
|
+
when "default_image" : return "d"
|
46
|
+
when "rating" : return "r"
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def gravatar_default_value(key)
|
51
|
+
case (key)
|
52
|
+
when "size" : return default_size
|
53
|
+
when "default_image" : return default_image
|
54
|
+
when "rating" : return default_rating
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
def default_size
|
59
|
+
"200"
|
60
|
+
end
|
61
|
+
|
62
|
+
def default_image
|
63
|
+
"retro"
|
64
|
+
end
|
65
|
+
|
66
|
+
def default_rating
|
67
|
+
"g"
|
68
|
+
end
|
69
|
+
|
70
|
+
def request_url(https)
|
71
|
+
https? "https://secure.gravatar.com/avatar/" : "http://www.gravatar.com/avatar/"
|
72
|
+
end
|
73
|
+
|
74
|
+
def md5hash(value)
|
75
|
+
require 'digest/md5'
|
76
|
+
digest = Digest::MD5.hexdigest(value.lstrip.rstrip.downcase)
|
77
|
+
|
78
|
+
digest
|
79
|
+
end
|
80
|
+
|
81
|
+
end
|
File without changes
|
data/my_gravatar.gemspec
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "my_gravatar/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "my_gravatar"
|
7
|
+
s.version = MyGravatar::VERSION
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.authors = ["Pragash"]
|
10
|
+
s.email = ["pragashonlink@gmail.com"]
|
11
|
+
s.homepage = ""
|
12
|
+
s.summary = %q{Include GRAVATAR images}
|
13
|
+
s.description = %q{Using this gem one can easily call and use the images in the GRAVATAR}
|
14
|
+
|
15
|
+
s.rubyforge_project = "my_gravatar"
|
16
|
+
|
17
|
+
s.files = `git ls-files`.split("\n")
|
18
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
19
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
20
|
+
s.require_paths = ["lib"]
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "my_gravatar/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "my_gravatar"
|
7
|
+
s.version = MyGravatar::VERSION
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.authors = ["Pragash"]
|
10
|
+
s.email = ["pragashonlink@gmail.com"]
|
11
|
+
s.homepage = ""
|
12
|
+
s.summary = %q{TODO: Write a gem summary}
|
13
|
+
s.description = %q{TODO: Write a gem description}
|
14
|
+
|
15
|
+
s.rubyforge_project = "my_gravatar"
|
16
|
+
|
17
|
+
s.files = `git ls-files`.split("\n")
|
18
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
19
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
20
|
+
s.require_paths = ["lib"]
|
21
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: my_gravatar
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 2
|
10
|
+
version: 0.0.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Pragash
|
@@ -28,8 +28,17 @@ extensions: []
|
|
28
28
|
|
29
29
|
extra_rdoc_files: []
|
30
30
|
|
31
|
-
files:
|
32
|
-
|
31
|
+
files:
|
32
|
+
- .gitignore
|
33
|
+
- Gemfile
|
34
|
+
- Rakefile
|
35
|
+
- lib/gravatar.rb
|
36
|
+
- lib/my_gravatar.rb
|
37
|
+
- lib/my_gravatar.rb~
|
38
|
+
- lib/my_gravatar/gravatar.rb~
|
39
|
+
- lib/my_gravatar/version.rb
|
40
|
+
- my_gravatar.gemspec
|
41
|
+
- my_gravatar.gemspec~
|
33
42
|
has_rdoc: true
|
34
43
|
homepage: ""
|
35
44
|
licenses: []
|