ve_gravatar_image_tag 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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: b47a98200804c593e310756fc0db7925819ec9758043ab706635ebe2a364cdae
4
+ data.tar.gz: 3c539d75cd5a2a4ccb57c7bb5c431119ba90acb6d1e9bb897cfcadaad30d9f07
5
+ SHA512:
6
+ metadata.gz: e03e6f5f3324767c5d3590a120781d79700a22f0a96ffe29f9a4ccc5452cbd1a6450e390d734c5376429e3e4b3c6c48286d2fd0fdecaad57aeeb0ad60dbd7013
7
+ data.tar.gz: 4181ba53b35e2e44c9ae871f8925890ff98c10c7630f88936b6b52f75c144c2be9ca63d9a7a47cd077ae54532a36548195ef5399897bbd6870ae0f3fa0f7689e
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2010 Michael Deering
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.textile ADDED
@@ -0,0 +1,119 @@
1
+ !http://s.gravatar.com/images/logo.png(Gravatar Logo)!
2
+
3
+ h1. Gravatar Image Tag Plugin
4
+
5
+ Rails view helper for grabbing "Gravatar":http://en.gravatar.com/ images. The goal here is to be configurable and have those configuration points documented!
6
+
7
+ h2. Install as a Ruby Gem
8
+
9
+ h3. Rails 2
10
+
11
+ p. Include the following line in your Rails environment
12
+
13
+ <pre># config/environment
14
+ config.gem 'gravatar_image_tag'</pre>
15
+
16
+ p. Then ensure the gem is installed by running the following rake task from the your application root.
17
+
18
+ <pre>rake gems:install</pre>
19
+
20
+ h3. Rails 3
21
+
22
+ p. Include the following line in your Rails environment
23
+
24
+ <pre># Gemfile
25
+ gem 'gravatar_image_tag'</pre>
26
+
27
+ p. Then ensure the gem is installed by running the following command from the application root.
28
+
29
+ <pre>bundle install</pre>
30
+
31
+ h2. Install as a Ruby on Rails Plugin
32
+
33
+ <pre>./script/plugin install git://github.com/mdeering/gravatar_image_tag.git</pre>
34
+
35
+ h2. Usage
36
+
37
+ h3. Gravatar Image Tag
38
+
39
+ p. Once you have installed it as a plugin for your rails app usage is simple.
40
+
41
+ <pre>gravatar_image_tag('spam@spam.com'.gsub('spam', 'mdeering'), :alt => 'Michael Deering')</pre>
42
+
43
+ *Boom* here is my gravatar !http://www.gravatar.com/avatar/4da9ad2bd4a2d1ce3c428e32c423588a(Michael Deering)!
44
+
45
+ h3. Gravatar Image URL
46
+
47
+ p. You can also return just the Gravatar URL:
48
+
49
+ <pre>gravatar_image_url('spam@spam.com'.gsub('spam', 'mdeering'), filetype: :png, rating: 'pg', size: 15, secure:false )</pre>
50
+
51
+ p. Useful when used in your inline CSS.
52
+
53
+ <pre><div class="gravatar" style="background:transparent url(<%= gravatar_image_url('spam@spam.com'.gsub('spam', 'mdeering'), size: 100) %>) 0px 0px no-repeat; width:100px; height:100px;"></div></pre>
54
+
55
+ h2. Configuration
56
+
57
+ h3. Global configuration points
58
+
59
+ <pre># config/initializers/gravatar_image_tag.rb
60
+ GravatarImageTag.configure do |config|
61
+ config.default_image = nil # Set this to use your own default gravatar image rather then serving up Gravatar's default image [ 'http://example.com/images/default_gravitar.jpg', :identicon, :monsterid, :wavatar, 404 ].
62
+ config.filetype = nil # Set this if you require a specific image file format ['gif', 'jpg' or 'png']. Gravatar's default is png
63
+ config.include_size_attributes = true # The height and width attributes of the generated img will be set to avoid page jitter as the gravatars load. Set to false to leave these attributes off.
64
+ config.rating = nil # Set this if you change the rating of the images that will be returned ['G', 'PG', 'R', 'X']. Gravatar's default is G
65
+ config.size = nil # Set this to globally set the size of the gravatar image returned (1..512). Gravatar's default is 80
66
+ config.secure = false # Set this to true if you require secure images on your pages.
67
+ end
68
+ </pre>
69
+
70
+ h3. Setting the default image inline
71
+
72
+ p. *Splat* the default gravatar image !http://www.gravatar.com/avatar/0c821f675f132d790b3f25e79da739a7(Default Gravatar Image)!
73
+
74
+ p. You can set the default gravatar image inline as follows:
75
+
76
+ <pre>gravatar_image_tag('junk', :alt => 'Github Default Gravatar', :gravatar => { :default => 'https://assets.github.com/images/gravatars/gravatar-140.png' })</pre>
77
+
78
+ p. *Ka-Pow* !https://assets.github.com/images/gravatars/gravatar-140.png(Github Default Gravatar)!
79
+
80
+ p. Other options supported besides an image url to fall back on include the following:
81
+
82
+ * :identicon !http://www.gravatar.com/avatar/0c821f675f132d790b3f25e79da739a7?default=identicon(Identicon Avatar)!
83
+ * :monsterid !http://www.gravatar.com/avatar/0c821f675f132d790b3f25e79da739a7?default=monsterid(Monster Id Avatar)!
84
+ * :wavatar !http://www.gravatar.com/avatar/0c821f675f132d790b3f25e79da739a7?default=wavatar(Wavatar Avatar)!
85
+ * 404: !http://www.gravatar.com/avatar/0c821f675f132d790b3f25e79da739a7?default=404(Not Found)!
86
+
87
+ h3. Setting the default image size
88
+
89
+ p. You can set the gravatar image size inline as follows:
90
+
91
+ <pre>gravatar_image_tag('spam@spam.com'.gsub('spam', 'mdeering'), :alt => 'Michael Deering', :class => 'some-class', :gravatar => { :size => 15 })</pre>
92
+
93
+ *Mini Me!* !(some-class)http://www.gravatar.com/avatar/4da9ad2bd4a2d1ce3c428e32c423588a?size=15(Michael Deering)!
94
+
95
+ h3. Grabbing gravatars from the secure gravatar server.
96
+
97
+ p. You can make a request for a gravatar from the secure server at https://secure.gravatar.com by passing the _:gravatar => { :secure => true }_ option to the gravatar_image_tag call.
98
+
99
+ <pre>gravatar_image_tag('spam@spam.com'.gsub('spam', 'mdeering'), :alt => 'Michael Deering', :gravatar => { :secure => true } )</pre>
100
+
101
+ Delivered by a secure url! !https://secure.gravatar.com/avatar/4da9ad2bd4a2d1ce3c428e32c423588a(Michael Deering)!
102
+
103
+ h3. Using Gravatar's built in rating system
104
+
105
+ p. You can set the gravatar rating inline as follows:
106
+
107
+ <pre>gravatar_image_tag('spam@spam.com'.gsub('spam', 'mdeering'), :alt => 'Michael Deering', :gravatar => { :rating => 'pg' } )</pre>
108
+
109
+ h3. Specifying a filetype
110
+
111
+ p. You can set the gravatar filetype inline as follows:
112
+
113
+ <pre>gravatar_image_tag('spam@spam.com'.gsub('spam', 'mdeering'), :alt => 'Michael Deering', :gravatar => { :filetype => :gif } )</pre>
114
+
115
+ h2. Credits
116
+
117
+ The ideas and methods for this plugin are from expanding upon my original blog post "Adding Gravatar To Your Website Or Blog (Gravatar Rails)":http://mdeering.com/posts/005-adding-gravitar-to-your-website-or-blog
118
+
119
+ Copyright (c) 2009-2010 "Michael Deering(Ruby on Rails Development Edmonton)":http://mdeering.com, released under the MIT license
data/Rakefile ADDED
@@ -0,0 +1,38 @@
1
+ require 'rake'
2
+ require 'rspec/core/rake_task'
3
+
4
+ begin
5
+ AUTHOR = "Michael Deering"
6
+ EMAIL = "mdeering@mdeering.com"
7
+ GEM = "gravatar_image_tag"
8
+ HOMEPAGE = "http://github.com/mdeering/gravatar_image_tag"
9
+ SUMMARY = "A configurable and documented Rails view helper for adding gravatars into your Rails application."
10
+
11
+ require 'jeweler'
12
+ Jeweler::Tasks.new do |s|
13
+ s.author = AUTHOR
14
+ s.email = EMAIL
15
+ s.files = %w(install.rb install.txt MIT-LICENSE README.textile Rakefile) + Dir.glob("{rails,lib,spec}/**/*")
16
+ s.homepage = HOMEPAGE
17
+ s.name = GEM
18
+ s.require_path = 'lib'
19
+ s.summary = SUMMARY
20
+ s.license = 'MIT'
21
+ end
22
+ Jeweler::GemcutterTasks.new
23
+ rescue LoadError
24
+ puts "Jeweler, or one of its dependencies, is not available. Install it with: gem install jeweler"
25
+ end
26
+
27
+ desc 'Test the gravatar_image_tag gem.'
28
+ RSpec::Core::RakeTask.new do |t|
29
+ end
30
+
31
+ desc 'Default: spec tests.'
32
+ task :default => :spec
33
+
34
+ desc "Run all examples with RCov"
35
+ RSpec::Core::RakeTask.new(:coverage) do |t|
36
+ t.rcov = true
37
+ t.rcov_opts = ['--exclude', '/opt,spec,Library']
38
+ end
@@ -0,0 +1,126 @@
1
+ module GravatarImageTag
2
+
3
+ class << self
4
+ attr_accessor :configuration
5
+ end
6
+
7
+ def self.configuration
8
+ @configuration ||= Configuration.new
9
+ end
10
+
11
+ def self.configure
12
+ yield(configuration)
13
+ end
14
+
15
+ class Configuration
16
+ attr_accessor :default_image, :filetype, :include_size_attributes,
17
+ :rating, :size, :secure
18
+
19
+ def initialize
20
+ @include_size_attributes = true
21
+ end
22
+ end
23
+
24
+ def self.included(base)
25
+ GravatarImageTag.configure { |c| nil }
26
+ base.extend ClassMethods
27
+ base.send :include, InstanceMethods
28
+ end
29
+
30
+ module ClassMethods
31
+ def default_gravatar_filetype=(value)
32
+ warn "DEPRECATION WARNING: configuration of filetype= through this method is deprecated! Use the block configuration instead. http://github.com/mdeering/gravatar_image_tag"
33
+ GravatarImageTag.configure do |c|
34
+ c.filetype = value
35
+ end
36
+ end
37
+ def default_gravatar_image=(value)
38
+ warn "DEPRECATION WARNING: configuration of default_gravatar_image= through this method is deprecated! Use the block configuration instead. http://github.com/mdeering/gravatar_image_tag"
39
+ GravatarImageTag.configure do |c|
40
+ c.default_image = value
41
+ end
42
+ end
43
+ def default_gravatar_rating=(value)
44
+ warn "DEPRECATION WARNING: configuration of default_gravatar_rating= through this method is deprecated! Use the block configuration instead. http://github.com/mdeering/gravatar_image_tag"
45
+ GravatarImageTag.configure do |c|
46
+ c.rating = value
47
+ end
48
+ end
49
+ def default_gravatar_size=(value)
50
+ warn "DEPRECATION WARNING: configuration of default_gravatar_size= through this method is deprecated! Use the block configuration instead. http://github.com/mdeering/gravatar_image_tag"
51
+ GravatarImageTag.configure do |c|
52
+ c.size = value
53
+ end
54
+ end
55
+ def secure_gravatar=(value)
56
+ warn "DEPRECATION WARNING: configuration of secure_gravatar= through this method is deprecated! Use the block configuration instead. http://github.com/mdeering/gravatar_image_tag"
57
+ GravatarImageTag.configure do |c|
58
+ c.secure = value
59
+ end
60
+ end
61
+ end
62
+
63
+ module InstanceMethods
64
+ def gravatar_image_tag(email, options = {})
65
+ gravatar_overrides = options.delete(:gravatar)
66
+ options[:src] = gravatar_image_url(email, gravatar_overrides)
67
+ options[:alt] ||= 'Gravatar'
68
+ if GravatarImageTag.configuration.include_size_attributes
69
+ size = GravatarImageTag::gravatar_options(gravatar_overrides)[:size] || 80
70
+ options[:height] = options[:width] = size.to_s
71
+ end
72
+
73
+ # Patch submitted to rails to allow image_tag here
74
+ # https://rails.lighthouseapp.com/projects/8994/tickets/2878
75
+ tag 'img', options, false, false
76
+ end
77
+
78
+ def gravatar_image_url(email, gravatar_overrides = {})
79
+ email = email.strip.downcase if email.is_a? String
80
+ GravatarImageTag::gravatar_url(email, gravatar_overrides)
81
+ end
82
+ end
83
+
84
+ def self.gravatar_url(email, overrides = {})
85
+ gravatar_params = gravatar_options(overrides || {})
86
+ url_base = gravatar_url_base(gravatar_params.delete(:secure))
87
+ hash = gravatar_id(email, gravatar_params.delete(:filetype))
88
+ url_params = url_params(gravatar_params)
89
+ "#{url_base}/#{hash}#{url_params}"
90
+ end
91
+
92
+ private
93
+
94
+ def self.gravatar_options(overrides = {})
95
+ {
96
+ :default => GravatarImageTag.configuration.default_image,
97
+ :filetype => GravatarImageTag.configuration.filetype,
98
+ :rating => GravatarImageTag.configuration.rating,
99
+ :secure => GravatarImageTag.configuration.secure,
100
+ :size => GravatarImageTag.configuration.size
101
+ }.merge(overrides || {}).delete_if { |key, value| value.nil? }
102
+ end
103
+
104
+ def self.gravatar_url_base(secure = false)
105
+ 'http' + (!!secure ? 's://secure.' : '://') + 'gravatar.com/avatar'
106
+ end
107
+
108
+ def self.gravatar_id(email, filetype = nil)
109
+ return nil unless email
110
+ "#{ Digest::MD5.hexdigest(email) }#{ ".#{filetype}" unless filetype.nil? }"
111
+ end
112
+
113
+ def self.url_params(gravatar_params)
114
+ return nil if gravatar_params.keys.size == 0
115
+ array = gravatar_params.map { |k, v| "#{k}=#{value_cleaner(v)}" }
116
+ "?#{array.join('&')}"
117
+ end
118
+
119
+ def self.value_cleaner(value)
120
+ value = value.to_s
121
+ URI.escape(value, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
122
+ end
123
+
124
+ end
125
+
126
+ ActionView::Base.send(:include, GravatarImageTag) if defined?(ActionView::Base)
@@ -0,0 +1,150 @@
1
+ require File.dirname(__FILE__) + '/test_helper'
2
+
3
+ require 'gravatar_image_tag'
4
+
5
+ ActionView::Base.send(:include, GravatarImageTag)
6
+
7
+ describe GravatarImageTag do
8
+
9
+ email = 'mdeering@mdeering.com'
10
+ md5 = '4da9ad2bd4a2d1ce3c428e32c423588a'
11
+ default_filetype = :gif
12
+ default_image = 'http://mdeering.com/images/default_gravatar.png'
13
+ default_image_escaped = 'http%3A%2F%2Fmdeering.com%2Fimages%2Fdefault_gravatar.png'
14
+ default_rating = 'x'
15
+ default_size = 50
16
+ other_image = 'http://mdeering.com/images/other_gravatar.png'
17
+ other_image_escaped = 'http%3A%2F%2Fmdeering.com%2Fimages%2Fother_gravatar.png'
18
+ secure = false
19
+
20
+ view = ActionView::Base.new
21
+
22
+ context '#gravatar_image_tag' do
23
+
24
+ {
25
+ { gravatar_id: md5 } => {},
26
+ { gravatar_id: md5 } => { gravatar: { rating: 'x' } },
27
+ { gravatar_id: md5, size: 30 } => { gravatar: { size: 30 } },
28
+ { gravatar_id: md5, default: other_image_escaped } => { gravatar: { default: other_image } },
29
+ { gravatar_id: md5, default: other_image_escaped, size: 30 } => { gravatar: { default: other_image, size: 30 } }
30
+ }.each do |params, options|
31
+ it "#gravatar_image_tag should create the provided url with the provided options #{options}" do
32
+ view = ActionView::Base.new
33
+ image_tag = view.gravatar_image_tag(email, options)
34
+ expect(image_tag.include?("#{params.delete(:gravatar_id)}")).to be_truthy
35
+ expect(params.all? {|key, value| image_tag.include?("#{key}=#{value}")}).to be_truthy
36
+ end
37
+ end
38
+
39
+ {
40
+ default_gravatar_image: default_image,
41
+ default_gravatar_filetype: default_filetype,
42
+ default_gravatar_rating: default_rating,
43
+ default_gravatar_size: default_size,
44
+ secure_gravatar: secure
45
+ }.each do |singleton_variable, value|
46
+ it "should give a deprication warning for assigning to #{singleton_variable} and passthrough to set the new variable" do
47
+ expect(ActionView::Base).to receive(:warn)
48
+ ActionView::Base.send("#{singleton_variable}=", value)
49
+ GravatarImageTag.configuration.default_image == value if singleton_variable == :default_gravatar_image
50
+ GravatarImageTag.configuration.filetype == value if singleton_variable == :default_gravatar_filetype
51
+ GravatarImageTag.configuration.rating == value if singleton_variable == :default_gravatar_rating
52
+ GravatarImageTag.configuration.size == value if singleton_variable == :default_gravatar_size
53
+ GravatarImageTag.configuration.secure == value if singleton_variable == :secure_gravatar
54
+ end
55
+ end
56
+
57
+ # Now that the defaults are set...
58
+ {
59
+ { gravatar_id: md5, size: default_size, default: default_image_escaped } => {},
60
+ { gravatar_id: md5, size: 30, default: default_image_escaped } => { gravatar: { size: 30 } },
61
+ { gravatar_id: md5, size: default_size, default: other_image_escaped } => { gravatar: { default: other_image } },
62
+ { gravatar_id: md5, size: 30, default: other_image_escaped } => { gravatar: { default: other_image, size: 30 } },
63
+ }.each do |params, options|
64
+ it "#gravatar_image_tag #{params} should create the provided url when defaults have been set with the provided options #{options}" do
65
+ view = ActionView::Base.new
66
+ image_tag = view.gravatar_image_tag(email, options)
67
+ expect(image_tag.include?("#{params.delete(:gravatar_id)}.#{default_filetype}")).to be_truthy
68
+ expect(params.all? {|key, value| image_tag.include?("#{key}=#{value}")}).to be_truthy
69
+ end
70
+ end
71
+
72
+ it 'should request the gravatar image from the non-secure server when the https: false option is given' do
73
+ expect(!!view.gravatar_image_tag(email, { gravatar: { secure: false } }).match(/^https:\/\/secure.gravatar.com\/avatar\//)).to be_falsey
74
+ end
75
+
76
+ it 'should request the gravatar image from the secure server when the https: true option is given' do
77
+ expect(!!view.gravatar_image_tag(email, { gravatar: { secure: true } }).match(/src="https:\/\/secure.gravatar.com\/avatar\//)).to be_truthy
78
+ end
79
+
80
+ it 'should set the image tags height and width to avoid the page going all jiggy (technical term) when loading a page with lots of Gravatars' do
81
+ GravatarImageTag.configure { |c| c.size = 30 }
82
+ expect(!!view.gravatar_image_tag(email).match(/height="30"/)).to be_truthy
83
+ expect(!!view.gravatar_image_tag(email).match(/width="30"/)).to be_truthy
84
+ end
85
+
86
+ it 'should set the image tags height and width attributes to 80px (gravatars default) if no size is given.' do
87
+ GravatarImageTag.configure { |c| c.size = nil }
88
+ expect(!!view.gravatar_image_tag(email).match(/height="80"/)).to be_truthy
89
+ expect(!!view.gravatar_image_tag(email).match(/width="80"/)).to be_truthy
90
+ end
91
+
92
+ it 'should set the image tags height and width attributes from the overrides on the size' do
93
+ GravatarImageTag.configure { |c| c.size = 120 }
94
+ expect(!!view.gravatar_image_tag(email, gravatar: { size: 45 }).match(/height="45"/)).to be_truthy
95
+ expect(!!view.gravatar_image_tag(email, gravatar: { size: 75 }).match(/width="75"/)).to be_truthy
96
+ end
97
+
98
+ it 'should not include the height and width attributes on the image tag if it is turned off in the configuration' do
99
+ GravatarImageTag.configure { |c| c.include_size_attributes = false }
100
+ expect(!!view.gravatar_image_tag(email).match(/height=/)).to be_falsey
101
+ expect(!!view.gravatar_image_tag(email).match(/width=/)).to be_falsey
102
+ end
103
+
104
+ it 'GravatarImageTag#gravitar_id should not error out when email is nil' do
105
+ expect { GravatarImageTag::gravatar_id(nil) }.to_not raise_error
106
+ end
107
+
108
+ it 'should normalize the email to Gravatar standards (http://en.gravatar.com/site/implement/hash/)' do
109
+ expect(view.gravatar_image_tag(" camelCaseEmail@example.com\t\n")).to eq(view.gravatar_image_tag('camelcaseemail@example.com'))
110
+ end
111
+
112
+ end
113
+
114
+ context '#gravatar_image_url' do
115
+
116
+ it '#gravatar_image_url should return a gravatar URL' do
117
+ expect(!!view.gravatar_image_url(email).match(/^http:\/\/gravatar.com\/avatar\//)).to be_truthy
118
+ end
119
+
120
+ it '#gravatar_image_url should set the email as an md5 digest' do
121
+ expect(!!view.gravatar_image_url(email).match("http:\/\/gravatar.com\/avatar\/#{md5}")).to be_truthy
122
+ end
123
+
124
+ it '#gravatar_image_url should set the default_image' do
125
+ expect(!!view.gravatar_image_url(email).include?("default=#{default_image_escaped}")).to be_truthy
126
+ end
127
+
128
+ it '#gravatar_image_url should set the filetype' do
129
+ expect(!!view.gravatar_image_url(email, filetype: :png).match("http:\/\/gravatar.com\/avatar\/#{md5}.png")).to be_truthy
130
+ end
131
+
132
+ it '#gravatar_image_url should set the rating' do
133
+ expect(!!view.gravatar_image_url(email, rating: 'pg').include?("rating=pg")).to be_truthy
134
+ end
135
+
136
+ it '#gravatar_image_url should set the size' do
137
+ expect(!!view.gravatar_image_url(email, size: 100).match(/size=100/)).to be_truthy
138
+ end
139
+
140
+ it '#gravatar_image_url should use http protocol when the https: false option is given' do
141
+ expect(!!view.gravatar_image_url(email, secure: false).match("^http:\/\/gravatar.com\/avatar\/")).to be_truthy
142
+ end
143
+
144
+ it '#gravatar_image_url should use https protocol when the https: true option is given' do
145
+ expect(!!view.gravatar_image_url(email, secure: true).match("^https:\/\/secure.gravatar.com\/avatar\/")).to be_truthy
146
+ end
147
+
148
+ end
149
+
150
+ end
@@ -0,0 +1,13 @@
1
+ require 'rubygems'
2
+ #require 'spec'
3
+ require 'active_support'
4
+ require 'action_view'
5
+ require 'digest/md5'
6
+ require 'uri'
7
+
8
+ RSpec.configure do |config|
9
+ config.filter_run focus: true
10
+ config.run_all_when_everything_filtered = true
11
+ end
12
+
13
+ $LOAD_PATH.unshift(File.dirname(__FILE__) + '/../lib')
metadata ADDED
@@ -0,0 +1,148 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ve_gravatar_image_tag
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.3.0
5
+ platform: ruby
6
+ authors:
7
+ - Michael Deering
8
+ - VersionEye
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2020-04-20 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: activesupport
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: 3.2.0
21
+ type: :development
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: 3.2.0
28
+ - !ruby/object:Gem::Dependency
29
+ name: actionpack
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: 3.2.0
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: 3.2.0
42
+ - !ruby/object:Gem::Dependency
43
+ name: rspec
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ - !ruby/object:Gem::Dependency
57
+ name: guard
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ - !ruby/object:Gem::Dependency
71
+ name: guard-rspec
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ - !ruby/object:Gem::Dependency
85
+ name: rb-fsevent
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: '0.9'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: '0.9'
98
+ - !ruby/object:Gem::Dependency
99
+ name: jeweler
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ description:
113
+ email: rubygems@versioneye.com
114
+ executables: []
115
+ extensions: []
116
+ extra_rdoc_files:
117
+ - README.textile
118
+ files:
119
+ - MIT-LICENSE
120
+ - README.textile
121
+ - Rakefile
122
+ - lib/gravatar_image_tag.rb
123
+ - spec/gravatar_image_tag_spec.rb
124
+ - spec/test_helper.rb
125
+ homepage: http://github.com/versioneye/gravatar_image_tag
126
+ licenses: []
127
+ metadata: {}
128
+ post_install_message:
129
+ rdoc_options: []
130
+ require_paths:
131
+ - lib
132
+ required_ruby_version: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ version: '0'
137
+ required_rubygems_version: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - ">="
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
142
+ requirements: []
143
+ rubygems_version: 3.0.8
144
+ signing_key:
145
+ specification_version: 3
146
+ summary: A configurable and documented Rails view helper for adding gravatars into
147
+ your Rails application.
148
+ test_files: []