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 ADDED
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in my_gravatar.gemspec
4
+ gemspec
data/Rakefile ADDED
@@ -0,0 +1,2 @@
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
data/lib/gravatar.rb ADDED
@@ -0,0 +1,3 @@
1
+ class Gravatar
2
+ include MyGravatar
3
+ end
@@ -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
@@ -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
@@ -0,0 +1,3 @@
1
+ module MyGravatar
2
+ VERSION = "0.0.2"
3
+ 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{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: 29
4
+ hash: 27
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 1
10
- version: 0.0.1
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: []