my_gravatar 0.0.1 → 0.0.2

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