tsalzer-img_gravatar 0.0.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.
- data/README.rdoc +49 -0
- data/Rakefile +15 -0
- data/img_gravatar.gemspec +32 -0
- data/init.rb +4 -0
- data/install.rb +2 -0
- data/lib/img_gravatar.rb +88 -0
- data/tasks/img_gravatar_tasks.rake +29 -0
- data/test/img_gravatar_test.rb +9 -0
- data/uninstall.rb +1 -0
- metadata +69 -0
data/README.rdoc
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
= Image Gravatar
|
2
|
+
|
3
|
+
A simple plugin adding the +img_gravatar+ image link helper to ActionViews.
|
4
|
+
|
5
|
+
== Install
|
6
|
+
|
7
|
+
gem install tsalzer-img_gravatar --source http://gems.github.com
|
8
|
+
|
9
|
+
|
10
|
+
== What is a Gravatar?
|
11
|
+
|
12
|
+
A gravatar is a globally recognized avatar. It is an image hosted on the site
|
13
|
+
http://site.gravatar.com, uploaded by the user and referred to on base of
|
14
|
+
an eMail address. News on gravatar can be found at http://blog.gravatar.com.
|
15
|
+
|
16
|
+
Each gravatar image can be rated with respect to its content being suiteable to
|
17
|
+
audience.
|
18
|
+
|
19
|
+
== Usage
|
20
|
+
|
21
|
+
To use a gravatar on your system, your view needs the eMail address of the
|
22
|
+
individual to be displayed. The most simple case is like this:
|
23
|
+
|
24
|
+
<p>
|
25
|
+
<%= img_gravatar('me@email.com') %> That's me.
|
26
|
+
</p>
|
27
|
+
|
28
|
+
This will render the image of the person known under the eMail me@email.com
|
29
|
+
in your browser. If there is no person known with this name, it will render
|
30
|
+
the Gravatar logo.
|
31
|
+
|
32
|
+
A more complex szenario would include a size definition, and an alt image tag:
|
33
|
+
|
34
|
+
<p>
|
35
|
+
<%= img_gravetar('me@email.com', { :size => 40, :alt => "That's me." }) %>
|
36
|
+
</p>
|
37
|
+
|
38
|
+
This would render a downsized image of 40x40 with the alt-tag "That's me.".
|
39
|
+
|
40
|
+
For a complete description of available parameters see
|
41
|
+
Gravatar::InstanceMethods#gravatar in the Gravatar::InstanceMethods.
|
42
|
+
|
43
|
+
=== Configuration Options
|
44
|
+
|
45
|
+
You can modify the following aspects of the displayed gravatar image:
|
46
|
+
* :alt - the alternative text for this image
|
47
|
+
* :default_url - the default URL for this gravatar
|
48
|
+
* :size - the requested gravatar size
|
49
|
+
* :rating - the requested maximum rating
|
data/Rakefile
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
# Rakefile for img_gravatar
|
2
|
+
require 'rubygems'
|
3
|
+
require 'rake'
|
4
|
+
require 'echoe'
|
5
|
+
|
6
|
+
Echoe.new('img_gravatar', '0.0.0') do |p|
|
7
|
+
p.description = "Add a img_gravatar helper to ActiveView."
|
8
|
+
p.url = "http://github.com/tsalzer/img_gravatar"
|
9
|
+
p.author = "Till Salzer"
|
10
|
+
p.email = "till.salzer@googlemail.com"
|
11
|
+
p.ignore_pattern = ["tmp/*", "script/*", "rdoc/*"]
|
12
|
+
p.development_dependencies = []
|
13
|
+
end
|
14
|
+
|
15
|
+
Dir["#{File.dirname(__FILE__)}/tasks/*.rake"].sort.each { |ext| load ext }
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = %q{img_gravatar}
|
5
|
+
s.version = "0.0.0"
|
6
|
+
|
7
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
|
+
s.authors = ["Till Salzer"]
|
9
|
+
s.date = %q{2009-01-17}
|
10
|
+
s.description = %q{Add a img_gravatar helper to ActiveView.}
|
11
|
+
s.email = %q{till.salzer@googlemail.com}
|
12
|
+
s.extra_rdoc_files = ["lib/img_gravatar.rb", "README.rdoc", "tasks/img_gravatar_tasks.rake"]
|
13
|
+
s.files = ["img_gravatar.gemspec", "init.rb", "install.rb", "lib/img_gravatar.rb", "Manifest", "Rakefile", "README.rdoc", "tasks/img_gravatar_tasks.rake", "test/img_gravatar_test.rb", "uninstall.rb"]
|
14
|
+
s.has_rdoc = true
|
15
|
+
s.homepage = %q{http://github.com/tsalzer/img_gravatar}
|
16
|
+
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Img_gravatar", "--main", "README.rdoc"]
|
17
|
+
s.require_paths = ["lib"]
|
18
|
+
s.rubyforge_project = %q{img_gravatar}
|
19
|
+
s.rubygems_version = %q{1.3.1}
|
20
|
+
s.summary = %q{Add a img_gravatar helper to ActiveView.}
|
21
|
+
s.test_files = ["test/img_gravatar_test.rb"]
|
22
|
+
|
23
|
+
if s.respond_to? :specification_version then
|
24
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
25
|
+
s.specification_version = 2
|
26
|
+
|
27
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
28
|
+
else
|
29
|
+
end
|
30
|
+
else
|
31
|
+
end
|
32
|
+
end
|
data/init.rb
ADDED
data/install.rb
ADDED
data/lib/img_gravatar.rb
ADDED
@@ -0,0 +1,88 @@
|
|
1
|
+
require 'md5'
|
2
|
+
require 'uri'
|
3
|
+
|
4
|
+
# = Gravatar
|
5
|
+
#
|
6
|
+
# Adds the +gravatar+ method to ActionViews.
|
7
|
+
#
|
8
|
+
# $Id$
|
9
|
+
module ImgGravatar #:nodoc:
|
10
|
+
# gravatar.com base URL.
|
11
|
+
# This is +http://www.gravatar.com/avatar.php+.
|
12
|
+
mattr_reader :gravatar_base_url
|
13
|
+
@@gravatar_base_url = 'http://www.gravatar.com/avatar.php'
|
14
|
+
|
15
|
+
# default image URL. Default is +/img/no_gravatar.png+.
|
16
|
+
mattr_accessor :default_img_url
|
17
|
+
@@default_img_url = '/img/no_gravatar.png'
|
18
|
+
|
19
|
+
# Default size of the image in pixel. Default is +40+.
|
20
|
+
mattr_accessor :default_size
|
21
|
+
@@default_size = 40
|
22
|
+
|
23
|
+
# default rating.
|
24
|
+
# Valid values are +G+, default is +G+.
|
25
|
+
mattr_accessor :default_rating
|
26
|
+
@@default_rating = 'G'
|
27
|
+
|
28
|
+
# Methods injected in all ActionView classes.
|
29
|
+
module Base #:nodoc:
|
30
|
+
def self.included(mod) #:nodoc:
|
31
|
+
mod.extend(ClassMethods)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
# Methods injected in all ActionView classes.
|
36
|
+
module ClassMethods #:nodoc:
|
37
|
+
def self.extended(mod) #:nodoc#
|
38
|
+
class_eval do
|
39
|
+
include Gravatar::InstanceMethods
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
module InstanceMethods
|
45
|
+
############################################################################
|
46
|
+
# get the default Gravatar image.
|
47
|
+
# options:
|
48
|
+
# :alt - the alternative text for this image
|
49
|
+
# :default_url - the default URL for this gravatar
|
50
|
+
# :size - the requested gravatar size
|
51
|
+
# :rating - the requested maximum rating
|
52
|
+
def img_gravatar(email, opts={})
|
53
|
+
# the defaults
|
54
|
+
alt = nil
|
55
|
+
default_img_url = ImgGravatar.default_img_url
|
56
|
+
size = ImgGravatar.default_size
|
57
|
+
rating = ImgGravatar.default_rating
|
58
|
+
|
59
|
+
# now, load infos from options
|
60
|
+
alt = opts[:alt] if opts[:alt]
|
61
|
+
default_img_url = opts[:default_url] if opts[:default_url]
|
62
|
+
size = opts[:size] if opts[:size]
|
63
|
+
rating = opts[:rating] if opts[:rating]
|
64
|
+
|
65
|
+
#uri = URI::HTTP.new(Gravatar.gravatar_base_url)
|
66
|
+
uri = "%s?gravatar_id=%s&rating=%s&size=%s" % [ImgGravatar.gravatar_base_url,
|
67
|
+
MD5.md5(email.strip),
|
68
|
+
rating,
|
69
|
+
size
|
70
|
+
]
|
71
|
+
|
72
|
+
if alt then
|
73
|
+
"<img src=\"%s\" alt=\"%s\" />" % [uri, alt]
|
74
|
+
else
|
75
|
+
"<img src=\"%s\" />" % uri
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
# inject into ActionView.
|
83
|
+
#ActionView::Base.class_eval do
|
84
|
+
# include Gravatar::Base
|
85
|
+
#end
|
86
|
+
ActionView::Base.send :include, ImgGravatar::InstanceMethods
|
87
|
+
|
88
|
+
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# desc "Explaining what the task does"
|
2
|
+
# task :gravatar do
|
3
|
+
# # Task goes here
|
4
|
+
# end
|
5
|
+
|
6
|
+
=begin
|
7
|
+
require 'rake/testtask'
|
8
|
+
require 'rake/rdoctask'
|
9
|
+
|
10
|
+
|
11
|
+
desc 'Default: run unit tests.'
|
12
|
+
task :default => :test
|
13
|
+
|
14
|
+
desc 'Test the gravatar plugin.'
|
15
|
+
Rake::TestTask.new(:test) do |t|
|
16
|
+
t.libs << 'lib'
|
17
|
+
t.pattern = 'test/**/*_test.rb'
|
18
|
+
t.verbose = true
|
19
|
+
end
|
20
|
+
|
21
|
+
desc 'Generate documentation for the gravatar plugin.'
|
22
|
+
Rake::RDocTask.new(:rdoc) do |rdoc|
|
23
|
+
rdoc.rdoc_dir = 'rdoc'
|
24
|
+
rdoc.title = 'Image Gravatar'
|
25
|
+
rdoc.options << '--line-numbers' << '--inline-source'
|
26
|
+
rdoc.rdoc_files.include('README.rdoc')
|
27
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
28
|
+
end
|
29
|
+
=end
|
data/uninstall.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
# Uninstall hook code here
|
metadata
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: tsalzer-img_gravatar
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Till Salzer
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2009-01-17 00:00:00 -08:00
|
13
|
+
default_executable:
|
14
|
+
dependencies: []
|
15
|
+
|
16
|
+
description: Add a img_gravatar helper to ActiveView.
|
17
|
+
email: till.salzer@googlemail.com
|
18
|
+
executables: []
|
19
|
+
|
20
|
+
extensions: []
|
21
|
+
|
22
|
+
extra_rdoc_files:
|
23
|
+
- lib/img_gravatar.rb
|
24
|
+
- README.rdoc
|
25
|
+
- tasks/img_gravatar_tasks.rake
|
26
|
+
files:
|
27
|
+
- img_gravatar.gemspec
|
28
|
+
- init.rb
|
29
|
+
- install.rb
|
30
|
+
- lib/img_gravatar.rb
|
31
|
+
- Manifest
|
32
|
+
- Rakefile
|
33
|
+
- README.rdoc
|
34
|
+
- tasks/img_gravatar_tasks.rake
|
35
|
+
- test/img_gravatar_test.rb
|
36
|
+
- uninstall.rb
|
37
|
+
has_rdoc: true
|
38
|
+
homepage: http://github.com/tsalzer/img_gravatar
|
39
|
+
post_install_message:
|
40
|
+
rdoc_options:
|
41
|
+
- --line-numbers
|
42
|
+
- --inline-source
|
43
|
+
- --title
|
44
|
+
- Img_gravatar
|
45
|
+
- --main
|
46
|
+
- README.rdoc
|
47
|
+
require_paths:
|
48
|
+
- lib
|
49
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: "0"
|
54
|
+
version:
|
55
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - ">="
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: "1.2"
|
60
|
+
version:
|
61
|
+
requirements: []
|
62
|
+
|
63
|
+
rubyforge_project: img_gravatar
|
64
|
+
rubygems_version: 1.2.0
|
65
|
+
signing_key:
|
66
|
+
specification_version: 2
|
67
|
+
summary: Add a img_gravatar helper to ActiveView.
|
68
|
+
test_files:
|
69
|
+
- test/img_gravatar_test.rb
|