gravatar_for 0.0.2.pre → 0.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3dbc8687ccdbec30614272a95d406db002a274cf
4
- data.tar.gz: c27fc86d9b1f9d43a86eebd244489202a5c24cb7
3
+ metadata.gz: ffdc8512a1ff13176db89b4d32ec52abf3df3906
4
+ data.tar.gz: 53e58c70ce9bc9005750b2afa49ab487faf131d6
5
5
  SHA512:
6
- metadata.gz: 3ff948066e5f6be8c6d969edcb79b3bc4beb37e9e7f7c4a06a3de11fa34f806735207cf695a85653b887940bfb24e2feae801e9e35777347d540e8c26522beac
7
- data.tar.gz: 342bf6c1562089896fcfb9b763a32cd0798d3254a9802c84b4f5a6d9c12757fc34da3d548b928581028f2c9deaee925b9c9e2b5e1699be84d19fda96f9ae2da8
6
+ metadata.gz: cd74cc355f5e6005589ef3261414fcb807354d701fd6813b53918fecc16fe79094317aaae36427485d6ecbed31405ae1de8d99490285a7d6177b086d4ce54d6a
7
+ data.tar.gz: b01532d550544c0fe915aab02a3104304e3dd4d3446cbc1e1edf1105015fbd1551370ef130fdf3fb2a132fb14ed8eaef4949621628813a9e4ffea3b2cabdeaae
data/README.md ADDED
@@ -0,0 +1,17 @@
1
+ ## gravatar_for
2
+
3
+ Simple Rails view helper for getting Gravatar images.
4
+
5
+ Install
6
+
7
+ ```zsh
8
+ gem install gravatar_for
9
+ ```
10
+
11
+ Basic usage
12
+ ```erb
13
+ <%= gravatar_for('user@example.com', class: 'gravatar') =>
14
+ ```
15
+
16
+ Please check the documentation or read the source to what all can be applied
17
+ with this call.
data/Rakefile ADDED
@@ -0,0 +1,8 @@
1
+ require 'rake/testtask'
2
+
3
+ Rake::TestTask.new do |t|
4
+ t.libs << 'test'
5
+ end
6
+
7
+ desc 'Run tests'
8
+ task :default => :test
data/gravatar_for.gemspec CHANGED
@@ -1,12 +1,17 @@
1
+ lib_directory = File.expand_path('../lib', __FILE__)
2
+ $LOAD_PATH.unshift(lib_directory) unless $LOAD_PATH.include?(lib_directory)
3
+ require 'gravatar_for/version'
4
+
1
5
  Gem::Specification.new do |s|
2
- s.name = 'gravatar_for'
3
- s.version = '0.0.2.pre'
4
- s.date = '2014-04-09'
5
- s.summary = 'A simple Gravatar view helper.'
6
- s.description = 'gravatar_for is a simple, but capable Gravatar view helper.'
7
- s.authors = 'Daniel Seitz'
8
- s.email = 'daniel.e.seitz@gmail.com'
9
- s.homepage = 'http://github.com/s3itz/gravatar_for'
10
- s.files = `git ls-files`.split($/)
11
- s.license = 'MIT'
6
+ s.name = 'gravatar_for'
7
+ s.version = GravatarFor::VERSION
8
+ s.summary = 'A simple Gravatar view helper.'
9
+ s.description = 'gravatar_for is a simple, but capable Gravatar view helper.'
10
+ s.authors = 'Daniel Seitz'
11
+ s.email = 'daniel.e.seitz@gmail.com'
12
+ s.homepage = 'http://github.com/s3itz/gravatar_for'
13
+ s.files = `git ls-files`.split($/)
14
+ s.test_files = `git ls-files ./test`.split
15
+ s.license = 'MIT'
16
+ s.require_paths = ['lib']
12
17
  end
@@ -1,7 +1,58 @@
1
1
  module GravatarFor
2
+ GRAVATAR_BASE_URL = 'http://www.gravatar.com/avatar/'
3
+ GRAVATAR_SECURE_BASE_URL = GRAVATAR_BASE_URL.gsub('://www', 's://secure')
4
+
2
5
  module ViewHelpers
3
- def test
4
- 'This confirms this is working'
6
+ # Returns an HTML5 image tag to the Gravatar image for +email+.
7
+ #
8
+ # #### Options
9
+ #
10
+ # You can add HTML attributes and modify Gravatar results using the
11
+ # +options+
12
+ #
13
+ # * <tt>:size</tt> - If no size is given; Gravatar's default
14
+ # of 80px by 80px is used.
15
+ # * <tt>:default</tt> - The default URL for an image to display if the
16
+ # email has no Gravatar image. By default, Gravatar returns its logo if
17
+ # there is no image to reference. To cover all basis, you can use the
18
+ # following symbols to use some of Gravtar's other options:
19
+ # * :mm - Mystery Man
20
+ # * :identicon - A geometric pattern based on an email has
21
+ # * :monsterid - A generated monster
22
+ # * :wavatar - Computer generated faces
23
+ # * :retro - 8-bit generated arcade-styled face
24
+ # * :blank - A transparent PNG image
25
+ # * 404 - HTTP 404 response (File Not Found)
26
+ # * <tt>:rating</tt> - Rating to request, either :g or 'g' (default);
27
+ # :pg or 'pg'; :r or 'r'; :x or 'x'
28
+ # * <tt>:forcedefault</tt> - Force default image, default: false
29
+ # * <tt>:alt</tt> - Override the HTML alternate text attribute. By default
30
+ # the email provided will be placed into this attribute.
31
+ # * <tt>:ssl</tt> - Use regular or secure URL, default +false+
32
+ # * Any additional +options+ will be passed to
33
+ # ActionView::Helpers::TagHelper::tag
34
+ def gravatar_for(email, options = {})
35
+ raise ArgumentError, 'Email must be provided' unless email && !email.strip.empty?
36
+
37
+ base_url = options[:ssl]? GRAVATAR_SECURE_BASE_URL : GRAVATAR_BASE_URL
38
+ options.delete(:ssl) if options.has_key?(:ssh)
39
+
40
+ options[:alt] ||= email
41
+
42
+ query = ''
43
+ [:size, :default, :rating, :forcedefault].each do |key|
44
+ if options.has_key?(key)
45
+ query << query.empty? ? '?' : '&'
46
+ query << "#{key}=#{options.delete(key)}"
47
+ end
48
+ end
49
+
50
+ src = base_url + Digest::MD5.hexdigest(email)
51
+ src << query unless query.empty?
52
+
53
+ options[:src] = src
54
+
55
+ tag('img', options, true)
5
56
  end
6
57
  end
7
58
  end
@@ -0,0 +1,8 @@
1
+ module GravatarFor
2
+ module Version
3
+ MAJOR, MINOR, PATCH = 0, 1, 0
4
+ JOINED = [MAJOR, MINOR, PATCH].join('.')
5
+ end
6
+
7
+ VERSION = Version::JOINED
8
+ end
@@ -0,0 +1,22 @@
1
+ require 'minitest/autorun'
2
+ require 'digest/md5'
3
+ require 'gravatar_for'
4
+ require 'action_view'
5
+
6
+ include ActionView::Helpers::TagHelper
7
+ include GravatarFor
8
+ include ViewHelpers
9
+
10
+ class GravatarForTest < MiniTest::Test
11
+ BASE_URL = GravatarFor::GRAVATAR_BASE_URL
12
+
13
+ def setup
14
+ @email = 'user@aol.com'
15
+ @email_hash = Digest::MD5.hexdigest(@email)
16
+ @response = "<img alt=\"#{@email}\" src=\"#{BASE_URL}#{@email_hash}\">"
17
+ end
18
+
19
+ def test_generate_image_tag
20
+ assert_equal gravatar_for(@email), @response
21
+ end
22
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gravatar_for
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2.pre
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Seitz
@@ -17,10 +17,14 @@ extensions: []
17
17
  extra_rdoc_files: []
18
18
  files:
19
19
  - ".gitignore"
20
+ - README.md
21
+ - Rakefile
20
22
  - gravatar_for.gemspec
21
23
  - lib/gravatar_for.rb
22
24
  - lib/gravatar_for/gravatar_for.rb
23
25
  - lib/gravatar_for/railtie.rb
26
+ - lib/gravatar_for/version.rb
27
+ - test/test_gravatar_for.rb
24
28
  homepage: http://github.com/s3itz/gravatar_for
25
29
  licenses:
26
30
  - MIT
@@ -36,13 +40,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
36
40
  version: '0'
37
41
  required_rubygems_version: !ruby/object:Gem::Requirement
38
42
  requirements:
39
- - - ">"
43
+ - - ">="
40
44
  - !ruby/object:Gem::Version
41
- version: 1.3.1
45
+ version: '0'
42
46
  requirements: []
43
47
  rubyforge_project:
44
48
  rubygems_version: 2.2.2
45
49
  signing_key:
46
50
  specification_version: 4
47
51
  summary: A simple Gravatar view helper.
48
- test_files: []
52
+ test_files:
53
+ - test/test_gravatar_for.rb