muck-engine 0.2.12 → 0.2.13
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/VERSION +1 -1
- data/app/helpers/muck_engine_helper.rb +44 -9
- data/lib/muck_engine/tasks.rb +7 -1
- data/muck-engine.gemspec +2 -2
- metadata +2 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.13
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'md5'
|
2
|
+
|
1
3
|
module MuckEngineHelper
|
2
4
|
|
3
5
|
# Outputs a small bit of javascript that will enable message
|
@@ -73,19 +75,52 @@ module MuckEngineHelper
|
|
73
75
|
end
|
74
76
|
|
75
77
|
# Render a photo for the given object. Note that the object will need a 'photo' method
|
76
|
-
# provided by paperclip.
|
77
|
-
#
|
78
|
-
#
|
79
|
-
# object:
|
80
|
-
# size:
|
81
|
-
#
|
82
|
-
|
78
|
+
# provided by paperclip. If the object does not provide an image, but does have an 'email' method
|
79
|
+
# this method will attempt to use gravatar.com to find a matching image.
|
80
|
+
#
|
81
|
+
# object: Object to get icon for.
|
82
|
+
# size: Size to get. size is commonly one of:
|
83
|
+
# :medium, :thumb, :icon or :tiny but can be any value provided by the photo object
|
84
|
+
# default_image: A default image should the photo not be found.
|
85
|
+
# gravatar_size: Size in pixels for the gravatar. Can be from 1 to 512. For reference the sizes from muck-profiles are:
|
86
|
+
# medium: 300, thumb: 100, icon: 50, tiny: 24. The default is set to 50 to match the default 'size' setting which is icon.
|
87
|
+
# rating: Default gravatar rating - g, pg, r, x.
|
88
|
+
# gravatar_default: If a gravatar is used, but no image is found several defaults are available. Leaving
|
89
|
+
# this value nil will result in the 'default_image' being used. Other wise one of the following can be set:
|
90
|
+
# identicon, monsterid, wavatar, 404
|
91
|
+
def icon(object, size = :icon, default_image = '/images/profile_default.jpg', use_only_gravatar = false, gravatar_size = 50, rating = 'g', gravatar_default = nil)
|
83
92
|
return "" if object.blank?
|
84
|
-
|
85
|
-
|
93
|
+
|
94
|
+
if object.photo.original_filename && !use_only_gravatar
|
95
|
+
image_url = object.photo.url(size) rescue nil
|
96
|
+
end
|
97
|
+
|
98
|
+
if image_url.blank? && defined?(object.email)
|
99
|
+
gravatar_default = File.join(root_url, default_image) if gravatar_default.blank?
|
100
|
+
image_url = gravatar(object.email, gravatar_default, gravatar_size, rating)
|
101
|
+
else
|
102
|
+
image_url ||= default_image
|
103
|
+
end
|
104
|
+
|
86
105
|
link_to(image_tag(image_url, :class => size), object, { :title => object.full_name })
|
87
106
|
end
|
88
107
|
|
108
|
+
# Gets a gravatar for a given email
|
109
|
+
#
|
110
|
+
# gravatar_default: If a gravatar is used, but no image is found several defaults are available. Leaving
|
111
|
+
# this value nil will result in the 'default_image' being used. Other wise one of the following can be set:
|
112
|
+
# identicon, monsterid, wavatar, 404
|
113
|
+
# size: Size in pixels for the gravatar. Can be from 1 to 512.
|
114
|
+
# rating: Default gravatar rating - g, pg, r, x.
|
115
|
+
def gravatar(email, gravatar_default, size = 40, rating = 'g')
|
116
|
+
hash = MD5::md5(email)
|
117
|
+
image_url = "http://www.gravatar.com/avatar/#{hash}"
|
118
|
+
image_url << "?d=#{CGI::escape(gravatar_default)}"
|
119
|
+
image_url << "&s=#{size}"
|
120
|
+
image_url << "&r=#{rating}"
|
121
|
+
end
|
122
|
+
|
123
|
+
# Generates a secure mailto link
|
89
124
|
def secure_mail_to(email)
|
90
125
|
mail_to email, nil, :encode => 'javascript'
|
91
126
|
end
|
data/lib/muck_engine/tasks.rb
CHANGED
@@ -112,7 +112,13 @@ class MuckEngine
|
|
112
112
|
gem_lib = muck_gem_lib(gem_name)
|
113
113
|
gem_path = File.join(path, muck_gem_path(gem_name))
|
114
114
|
env_file = File.join(RAILS_ROOT, 'config', 'environment.rb')
|
115
|
-
|
115
|
+
version_file = File.join(gem_path, 'VERSION')
|
116
|
+
if !File.exists?(version_file)
|
117
|
+
puts "Could not find version file for #{gem_name}. You probably don't have the code for this gem.
|
118
|
+
No big deal since if you don't have the code you probably haven't change it. Skipping version for this gem."
|
119
|
+
return
|
120
|
+
end
|
121
|
+
version = IO.read(version_file).strip
|
116
122
|
environment = IO.read(env_file)
|
117
123
|
|
118
124
|
search = Regexp.new(/\:lib\s*=>\s*['"]#{gem_lib}['"],\s*\:version\s*=>\s*['"][ <>=~]*\d+\.\d+\.\d+['"]/)
|
data/muck-engine.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{muck-engine}
|
8
|
-
s.version = "0.2.
|
8
|
+
s.version = "0.2.13"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Justin Ball"]
|
12
|
-
s.date = %q{2009-11-
|
12
|
+
s.date = %q{2009-11-10}
|
13
13
|
s.description = %q{The base engine for the muck system. Contains common tables, custom for, css and javascript.}
|
14
14
|
s.email = %q{justinball@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: muck-engine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin Ball
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-11-
|
12
|
+
date: 2009-11-10 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|