module GravatarImageTag
Attributes
configuration[RW]
Public Class Methods
configure() { |configuration| ... }
click to toggle source
# File lib/gravatar_image_tag.rb, line 12 def self.configure yield(configuration) end
gravatar_id(email, filetype = nil)
click to toggle source
# File lib/gravatar_image_tag.rb, line 49 def self.gravatar_id(email, filetype = nil) "#{Digest::MD5.hexdigest(email)}#{".#{filetype}" unless filetype.nil?}" unless email.nil? end
gravatar_url(email, overrides = {})
click to toggle source
# File lib/gravatar_image_tag.rb, line 34 def self.gravatar_url(email, overrides = {}) overrides ||= {} gravatar_params = { default: GravatarImageTag.configuration.default_image, filetype: GravatarImageTag.configuration.filetype, rating: GravatarImageTag.configuration.rating, size: GravatarImageTag.configuration.size }.merge(overrides).delete_if { |_key, value| value.nil? } "#{gravatar_url_base}/#{gravatar_id(email, gravatar_params.delete(:filetype))}#{url_params(gravatar_params)}" end
gravatar_url_base()
click to toggle source
# File lib/gravatar_image_tag.rb, line 45 def self.gravatar_url_base 'https://gravatar.com/avatar' end
included(base)
click to toggle source
# File lib/gravatar_image_tag.rb, line 20 def self.included(base) GravatarImageTag.configure { |_c| nil } base.send :include, InstanceMethods end
url_params(gravatar_params)
click to toggle source
# File lib/gravatar_image_tag.rb, line 53 def self.url_params(gravatar_params) return nil if gravatar_params.keys.empty? "?#{gravatar_params.map { |key, value| "#{key}=#{CGI.escape(value.is_a?(String) ? value : value.to_s)}" }.join('&')}" end