muck-profiles 0.1.16 → 0.1.17
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +104 -2
- data/Rakefile +2 -0
- data/VERSION +1 -1
- data/app/controllers/muck/profiles_controller.rb +1 -1
- data/app/helpers/muck_profiles_helper.rb +14 -0
- data/app/views/profiles/_form.html.erb +2 -1
- data/app/views/profiles/_location_suggestion.html.erb +12 -0
- data/db/migrate/20091124203137_add_location_to_profiles.rb +15 -0
- data/db/migrate/20091124205819_add_fields_to_profiles.rb +21 -0
- data/lib/active_record/acts/muck_profile.rb +53 -1
- data/lib/active_record/has/muck_profile.rb +0 -2
- data/locales/en.yml +16 -1
- data/muck-profiles.gemspec +144 -3
- data/test/rails_root/.gitignore +2 -1
- data/test/rails_root/config/database.yml +12 -12
- data/test/rails_root/config/environment.rb +1 -0
- data/test/rails_root/config/{global_config.yml → global_config.example.yml} +1 -1
- data/test/rails_root/config/initializers/geokit_config.rb +61 -0
- data/test/rails_root/db/migrate/20090402234137_create_languages.rb +18 -0
- data/test/rails_root/db/migrate/20090426041056_create_countries.rb +15 -0
- data/test/rails_root/db/migrate/20090426041103_create_states.rb +18 -0
- data/test/rails_root/db/migrate/20091124203137_add_location_to_profiles.rb +15 -0
- data/test/rails_root/db/migrate/20091124205819_add_fields_to_profiles.rb +21 -0
- data/test/rails_root/lib/tasks/muck.rake +7 -0
- data/test/rails_root/public/images/arrow_down.gif +0 -0
- data/test/rails_root/public/images/arrow_up.gif +0 -0
- data/test/rails_root/public/images/fancybox/fancy_closebox.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_left.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_progress.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_right.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_e.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_n.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_ne.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_nw.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_s.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_se.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_sw.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_shadow_w.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_title_left.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_title_main.png +0 -0
- data/test/rails_root/public/images/fancybox/fancy_title_right.png +0 -0
- data/test/rails_root/public/images/icons/blue_guy.png +0 -0
- data/test/rails_root/public/images/icons/button_background.png +0 -0
- data/test/rails_root/public/images/icons/cancel.png +0 -0
- data/test/rails_root/public/images/icons/close.png +0 -0
- data/test/rails_root/public/images/icons/comment.png +0 -0
- data/test/rails_root/public/images/icons/exclaim.png +0 -0
- data/test/rails_root/public/images/icons/external.png +0 -0
- data/test/rails_root/public/images/icons/feed.png +0 -0
- data/test/rails_root/public/images/icons/grey_guy.png +0 -0
- data/test/rails_root/public/images/icons/hide.png +0 -0
- data/test/rails_root/public/images/icons/information.png +0 -0
- data/test/rails_root/public/images/icons/minus.png +0 -0
- data/test/rails_root/public/images/icons/pending.png +0 -0
- data/test/rails_root/public/images/icons/question.png +0 -0
- data/test/rails_root/public/images/icons/search_box.png +0 -0
- data/test/rails_root/public/images/icons/star.png +0 -0
- data/test/rails_root/public/images/icons/stop.png +0 -0
- data/test/rails_root/public/images/icons/thumb_down.png +0 -0
- data/test/rails_root/public/images/icons/thumb_up.png +0 -0
- data/test/rails_root/public/images/nothing.png +0 -0
- data/test/rails_root/public/javascripts/jquery/colorpicker.js +450 -0
- data/test/rails_root/public/javascripts/jquery/jquery.autocomplete.js.readme +6 -0
- data/test/rails_root/public/javascripts/jquery/jquery.autocomplete.min.js +15 -0
- data/test/rails_root/public/javascripts/jquery/jquery.autocomplete.pack.js +767 -0
- data/test/rails_root/public/javascripts/jquery/jquery.easing.js +1 -0
- data/test/rails_root/public/javascripts/jquery/jquery.fancybox.js +9 -0
- data/test/rails_root/public/javascripts/jquery/jquery.metadata.min.js +13 -0
- data/test/rails_root/public/javascripts/jquery/jquery.queryString.js +33 -0
- data/test/rails_root/public/javascripts/jquery/jquery.swapimage.js +66 -0
- data/test/rails_root/public/javascripts/jquery/jquery.swapimage.min.js +11 -0
- data/test/rails_root/public/javascripts/jquery/jrails.js +1 -0
- data/test/rails_root/public/javascripts/muck.js +11 -6
- data/test/rails_root/public/javascripts/muck_time/en.js +53 -0
- data/test/rails_root/public/javascripts/tree.js +107 -0
- data/test/rails_root/public/stylesheets/jquery/jquery.autocomplete.css +15 -0
- data/test/rails_root/public/stylesheets/jquery/jquery.fancybox.css +44 -0
- data/test/rails_root/public/stylesheets/styles.css +10 -3
- data/test/rails_root/vendor/plugins/geokit-rails/CHANGELOG.rdoc +46 -0
- data/test/rails_root/vendor/plugins/geokit-rails/MIT-LICENSE +20 -0
- data/test/rails_root/vendor/plugins/geokit-rails/README.markdown +561 -0
- data/test/rails_root/vendor/plugins/geokit-rails/Rakefile +18 -0
- data/test/rails_root/vendor/plugins/geokit-rails/about.yml +9 -0
- data/test/rails_root/vendor/plugins/geokit-rails/assets/api_keys_template +61 -0
- data/test/rails_root/vendor/plugins/geokit-rails/init.rb +1 -0
- data/test/rails_root/vendor/plugins/geokit-rails/install.rb +14 -0
- data/test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails.rb +26 -0
- data/test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/acts_as_mappable.rb +456 -0
- data/test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/adapters/abstract.rb +31 -0
- data/test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/adapters/mysql.rb +22 -0
- data/test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/adapters/postgresql.rb +22 -0
- data/test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/adapters/sqlserver.rb +43 -0
- data/test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/defaults.rb +22 -0
- data/test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/geocoder_control.rb +16 -0
- data/test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/ip_geocode_lookup.rb +46 -0
- data/test/rails_root/vendor/plugins/geokit-rails/test/acts_as_mappable_test.rb +474 -0
- data/test/rails_root/vendor/plugins/geokit-rails/test/boot.rb +25 -0
- data/test/rails_root/vendor/plugins/geokit-rails/test/database.yml +20 -0
- data/test/rails_root/vendor/plugins/geokit-rails/test/fixtures/companies.yml +7 -0
- data/test/rails_root/vendor/plugins/geokit-rails/test/fixtures/custom_locations.yml +54 -0
- data/test/rails_root/vendor/plugins/geokit-rails/test/fixtures/locations.yml +54 -0
- data/test/rails_root/vendor/plugins/geokit-rails/test/fixtures/mock_addresses.yml +17 -0
- data/test/rails_root/vendor/plugins/geokit-rails/test/fixtures/mock_families.yml +2 -0
- data/test/rails_root/vendor/plugins/geokit-rails/test/fixtures/mock_houses.yml +9 -0
- data/test/rails_root/vendor/plugins/geokit-rails/test/fixtures/mock_organizations.yml +5 -0
- data/test/rails_root/vendor/plugins/geokit-rails/test/fixtures/mock_people.yml +5 -0
- data/test/rails_root/vendor/plugins/geokit-rails/test/fixtures/stores.yml +0 -0
- data/test/rails_root/vendor/plugins/geokit-rails/test/ip_geocode_lookup_test.rb +77 -0
- data/test/rails_root/vendor/plugins/geokit-rails/test/models/company.rb +3 -0
- data/test/rails_root/vendor/plugins/geokit-rails/test/models/custom_location.rb +12 -0
- data/test/rails_root/vendor/plugins/geokit-rails/test/models/location.rb +4 -0
- data/test/rails_root/vendor/plugins/geokit-rails/test/models/mock_address.rb +4 -0
- data/test/rails_root/vendor/plugins/geokit-rails/test/models/mock_family.rb +3 -0
- data/test/rails_root/vendor/plugins/geokit-rails/test/models/mock_house.rb +3 -0
- data/test/rails_root/vendor/plugins/geokit-rails/test/models/mock_organization.rb +4 -0
- data/test/rails_root/vendor/plugins/geokit-rails/test/models/mock_person.rb +4 -0
- data/test/rails_root/vendor/plugins/geokit-rails/test/models/store.rb +3 -0
- data/test/rails_root/vendor/plugins/geokit-rails/test/schema.rb +60 -0
- data/test/rails_root/vendor/plugins/geokit-rails/test/tasks.rake +31 -0
- data/test/rails_root/vendor/plugins/geokit-rails/test/test_helper.rb +23 -0
- metadata +158 -3
data/README.rdoc
CHANGED
@@ -6,16 +6,36 @@ Add profiles to muck users. This implements a photo for users as well as a prop
|
|
6
6
|
Muck profile relies upon the muck-engine and muck-users gems as well as paperclip. Add the following lines to your environment.rb file:
|
7
7
|
|
8
8
|
config.gem "authlogic"
|
9
|
-
config.gem "
|
9
|
+
config.gem "searchlogic"
|
10
10
|
config.gem "bcrypt-ruby", :lib => "bcrypt"
|
11
|
-
config.gem '
|
11
|
+
config.gem 'paperclip'
|
12
12
|
config.gem 'muck-engine', :lib => 'muck_engine'
|
13
13
|
config.gem 'muck-users', :lib => 'muck_users'
|
14
14
|
config.gem 'muck-profiles', :lib => 'muck_profiles'
|
15
|
+
config.gem 'geokit'
|
15
16
|
|
16
17
|
Next run rake gems:install
|
17
18
|
|
19
|
+
MuckProfiles uses geokit to determine a users location and to make it possible to find users that are within a given proximity.
|
18
20
|
|
21
|
+
Install the GeoKit Rails Plugin:
|
22
|
+
|
23
|
+
script/plugin install git://github.com/andre/geokit-rails.git
|
24
|
+
|
25
|
+
Be sure to get api keys from Google an Yahoo. Instructions for doing so can be found in config/initializers/geokit_config.rb after installing the plugin. We recommend moving the keys into
|
26
|
+
global_config.yml:
|
27
|
+
|
28
|
+
Change the lines in config/initializers/geokit_config.rb to:
|
29
|
+
Geokit::Geocoders::yahoo = GlobalConfig.yahoo_geo_key
|
30
|
+
Geokit::Geocoders::google = GlobalConfig.google_geo_key
|
31
|
+
|
32
|
+
Put this in global_config.yml:
|
33
|
+
google_geo_key: 'some key' # API key for Google. Get it here: http://www.google.com/apis/maps/signup.html
|
34
|
+
yahoo_geo_key: 'some key' # API key for Yahoo. Get it here: http://developer.yahoo.com/faq/index.html#appid
|
35
|
+
|
36
|
+
# Profile configuration
|
37
|
+
enable_guess_location: true # If true the profile system will attempt to determine the user's location via IP and populated with the location, lat and lon fields.
|
38
|
+
|
19
39
|
== Usage
|
20
40
|
Create a model called profile.rb and add 'acts_as_muck_profile'. This mixes in the muck profile functionality but also permits further customization of the profile in your application.
|
21
41
|
|
@@ -38,4 +58,86 @@ Your user model will now appear to have a 'photo' which is delegated to the prof
|
|
38
58
|
|
39
59
|
@user.photo # returns a photo object from paperclip
|
40
60
|
|
61
|
+
=== Profile Attributes
|
62
|
+
The profile comes preconfigured with a basic set of common profile options. It is easy to add new fields. Simply add the fields to the profile using a migration:
|
63
|
+
|
64
|
+
class AddMoreFieldsToProfiles < ActiveRecord::Migration
|
65
|
+
def self.up
|
66
|
+
add_column :profiles, :occupation, :string
|
67
|
+
add_column :profiles, :gender, :string
|
68
|
+
add_column :profiles, :birthday, :datetime
|
69
|
+
add_column :profiles, :company, :string
|
70
|
+
add_column :profiles, :zip, :string
|
71
|
+
add_column :profiles, :mobile_phone, :string
|
72
|
+
add_column :profiles, :home_phone, :string
|
73
|
+
add_column :profiles, :alumni_of, :string
|
74
|
+
add_column :profiles, :relationship_status, :string
|
75
|
+
end
|
76
|
+
|
77
|
+
def self.down
|
78
|
+
add_column :profiles, :occupation
|
79
|
+
add_column :profiles, :gender
|
80
|
+
add_column :profiles, :birthday
|
81
|
+
add_column :profiles, :company
|
82
|
+
add_column :profiles, :zip
|
83
|
+
add_column :profiles, :mobile_phone
|
84
|
+
add_column :profiles, :home_phone
|
85
|
+
add_column :profiles, :alumni_of
|
86
|
+
add_column :profiles, :relationship_status
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
|
91
|
+
Next create a new views/profiles/edit.html.erb file. The built in file is very basic and makes it easy to add additional fields. The 'profile_form' method will
|
92
|
+
create form elements for the built in fields. Add extra fields after that.
|
93
|
+
|
94
|
+
<div id="edit_content" class="span-24 colborder column">
|
95
|
+
<%= output_errors(t('muck.profiles.problem_editing_profile'), {:class => 'help-box'}, @profile) %>
|
96
|
+
<% profile_form(@profile) do |f| -%>
|
97
|
+
<%# can add form fields as desired here -%>
|
98
|
+
<% end -%>
|
99
|
+
</div>
|
100
|
+
|
101
|
+
Last create view/profiles/show.html.erb. There is a built in show page however it is assumed that most applications will implement a custom show page to hightlight
|
102
|
+
the focus of the system.
|
103
|
+
|
104
|
+
<div class="span-24 colborder column">
|
105
|
+
<%= icon @user, :thumb %>
|
106
|
+
<p><%= @user.full_name %></p>
|
107
|
+
<p><%= link_to t('muck.profiles.edit_profile'), edit_user_profile_path(@user) if @profile.can_edit?(current_user) %></p>
|
108
|
+
<!-- Add more fields and customize the profile. -->
|
109
|
+
</div>
|
110
|
+
|
111
|
+
It's important to sanitize user input. If you add fields to the profile then be sure to prevent cross site scripting. Override the 'sanitize_attributes' method
|
112
|
+
in your model and add your new fields. Note that you can also override 'sanitize_level' to determine how sanitization occurs.
|
113
|
+
|
114
|
+
# Sanitize content before saving. This prevents XSS attacks and other malicious html.
|
115
|
+
def sanitize_attributes
|
116
|
+
if self.sanitize_level
|
117
|
+
self.about = Sanitize.clean(self.about, self.sanitize_level)
|
118
|
+
self.location = Sanitize.clean(self.location, self.sanitize_level)
|
119
|
+
# add your fields
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
# Override this method to control sanitization levels.
|
124
|
+
# Currently a user who is an admin will not have their content sanitized. A user
|
125
|
+
# in any role 'editor', 'manager', or 'contributor' will be given the 'RELAXED' settings
|
126
|
+
# while all other users will get 'BASIC'.
|
127
|
+
#
|
128
|
+
# Options are from sanitze:
|
129
|
+
# nil - no sanitize
|
130
|
+
# Sanitize::Config::RELAXED
|
131
|
+
# Sanitize::Config::BASIC
|
132
|
+
# Sanitize::Config::RESTRICTED
|
133
|
+
# for more details see: http://rgrove.github.com/sanitize/
|
134
|
+
def sanitize_level
|
135
|
+
return Sanitize::Config::BASIC if self.user.nil?
|
136
|
+
return nil if self.user.admin?
|
137
|
+
return Sanitize::Config::RELAXED if self.user.any_role?('editor', 'manager', 'contributor')
|
138
|
+
Sanitize::Config::BASIC
|
139
|
+
end
|
140
|
+
|
141
|
+
|
142
|
+
|
41
143
|
Copyright (c) 2009 Tatemae, released under the MIT license
|
data/Rakefile
CHANGED
@@ -56,6 +56,8 @@ begin
|
|
56
56
|
gemspec.rubyforge_project = 'muck-profiles'
|
57
57
|
gemspec.add_dependency "muck-engine"
|
58
58
|
gemspec.add_dependency "muck-users"
|
59
|
+
gemspec.add_dependency "geokit"
|
60
|
+
gemspec.add_dependency "paperclip"
|
59
61
|
end
|
60
62
|
Jeweler::RubyforgeTasks.new do |rubyforge|
|
61
63
|
rubyforge.doc_task = "rdoc"
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.17
|
@@ -9,4 +9,18 @@ module MuckProfilesHelper
|
|
9
9
|
raw_block_to_partial('profiles/form', options.merge(:profile => profile), &block)
|
10
10
|
end
|
11
11
|
|
12
|
+
# Outputs a link and text that guesses the user's location using their ip.
|
13
|
+
def location_suggestion(field_id)
|
14
|
+
geo = Geokit::Geocoders::MultiGeocoder.geocode(request.ip)
|
15
|
+
location = readable_location(geo)
|
16
|
+
return '' if location.blank?
|
17
|
+
render :partial => 'profiles/location_suggestion', :locals => { :field_id => field_id, :location => location }
|
18
|
+
end
|
19
|
+
|
20
|
+
# Turns a geokit location object into a location string with city, state country
|
21
|
+
def readable_location(location)
|
22
|
+
return '' if location.city.blank? && location.state.blank? && location.province.blank? && location.country_code.blank?
|
23
|
+
"#{location.city}, #{location.state || location.province} #{location.country_code}"
|
24
|
+
end
|
25
|
+
|
12
26
|
end
|
@@ -1,7 +1,8 @@
|
|
1
1
|
<div id="<%= "#{profile.dom_id}" %>" class="edit_profile">
|
2
2
|
<% custom_form_for(profile, :url => user_profile_path(profile.user), :html => html.merge(:id => "edit-profile-form", :name => 'edit-profile-form', :method => :put, :multipart => true ) ) do |f| -%>
|
3
3
|
<div id="edit_profile_image">
|
4
|
-
|
4
|
+
<%#= image_tag profile.photo.url(:thumb) %>
|
5
|
+
<%= icon profile.user, :thumb %>
|
5
6
|
<%= f.file_field :photo, { :label => t('muck.profiles.upload_photo') } %>
|
6
7
|
</div>
|
7
8
|
<%= capture(f, &block) %>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<div class="location-suggestion">
|
2
|
+
<%= I18n.t('muck.profiles.location_suggestion', :location => location) %>
|
3
|
+
<a href="#" id="set_<%=field_id%>"><%=I18n.t('muck.profiles.click_to_set')%></a>
|
4
|
+
</div>
|
5
|
+
<script type="text/javascript">
|
6
|
+
jQuery(document).ready(function() {
|
7
|
+
jQuery("#set_<%=field_id%>").click(function() {
|
8
|
+
jQuery("#<%=field_id%>").val("<%=location%>");
|
9
|
+
return false;
|
10
|
+
});
|
11
|
+
});
|
12
|
+
</script>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class AddLocationToProfiles < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
add_column :profiles, :location, :string
|
4
|
+
add_column :profiles, :lat, :decimal, :precision => 15, :scale => 10
|
5
|
+
add_column :profiles, :lng, :decimal, :precision => 15, :scale => 10
|
6
|
+
add_index :profiles, [:lat, :lng]
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.down
|
10
|
+
remove_index :profiles, [:lat, :lng]
|
11
|
+
remove_column :profiles, :location
|
12
|
+
remove_column :profiles, :lat
|
13
|
+
remove_column :profiles, :lng
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
class AddFieldsToProfiles < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
add_column :profiles, :about, :text
|
4
|
+
add_column :profiles, :first_name, :string
|
5
|
+
add_column :profiles, :last_name, :string
|
6
|
+
add_column :profiles, :city, :string
|
7
|
+
add_column :profiles, :state_id, :integer
|
8
|
+
add_column :profiles, :country_id, :integer
|
9
|
+
add_column :profiles, :language_id, :integer
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.down
|
13
|
+
remove_column :profiles, :about
|
14
|
+
remove_column :profiles, :first_name
|
15
|
+
remove_column :profiles, :last_name
|
16
|
+
remove_column :profiles, :city
|
17
|
+
remove_column :profiles, :state_id
|
18
|
+
remove_column :profiles, :country_id
|
19
|
+
remove_column :profiles, :language_id
|
20
|
+
end
|
21
|
+
end
|
@@ -10,6 +10,11 @@ module ActiveRecord
|
|
10
10
|
def acts_as_muck_profile(options = {})
|
11
11
|
|
12
12
|
belongs_to :user
|
13
|
+
belongs_to :state
|
14
|
+
belongs_to :country
|
15
|
+
belongs_to :language
|
16
|
+
|
17
|
+
acts_as_mappable
|
13
18
|
|
14
19
|
has_attached_file :photo,
|
15
20
|
:styles => { :medium => "300x300>",
|
@@ -18,6 +23,7 @@ module ActiveRecord
|
|
18
23
|
:tiny => "24x24>" },
|
19
24
|
:default_url => "/images/profile_default.jpg"
|
20
25
|
|
26
|
+
before_save :sanitize_attributes
|
21
27
|
|
22
28
|
class_eval <<-EOV
|
23
29
|
attr_protected :created_at, :updated_at, :photo_file_name, :photo_content_type, :photo_file_size
|
@@ -31,7 +37,7 @@ module ActiveRecord
|
|
31
37
|
|
32
38
|
# class methods
|
33
39
|
module SingletonMethods
|
34
|
-
|
40
|
+
|
35
41
|
end
|
36
42
|
|
37
43
|
# All the methods available to a record that has had <tt>acts_as_muck_profile</tt> specified.
|
@@ -42,6 +48,52 @@ module ActiveRecord
|
|
42
48
|
self.user_id == user.id || user.admin?
|
43
49
|
end
|
44
50
|
|
51
|
+
def guess_and_assign_location_via_ip
|
52
|
+
if GlobalConfig.enable_guess_location && self.user.current_login_ip
|
53
|
+
location = Geokit::Geocoders::MultiGeocoder.geocode(self.user.current_login_ip)
|
54
|
+
state = State.find_by_abbreviation(location.state)
|
55
|
+
country = Country.find_by_abbreviation(location.country)
|
56
|
+
self.update_attributes(
|
57
|
+
:location => "#{location.city}, #{location.state || location.province} #{location.country_code}",
|
58
|
+
:lat => location.lat,
|
59
|
+
:lng => location.lng,
|
60
|
+
:city => location.city,
|
61
|
+
:state => state,
|
62
|
+
:country => country)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
def after_create
|
67
|
+
guess_and_assign_location_via_ip
|
68
|
+
end
|
69
|
+
|
70
|
+
# Sanitize content before saving. This prevent XSS attacks and other malicious html.
|
71
|
+
def sanitize_attributes
|
72
|
+
if self.sanitize_level
|
73
|
+
self.about = Sanitize.clean(self.about, self.sanitize_level)
|
74
|
+
self.location = Sanitize.clean(self.location, self.sanitize_level)
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
# Override this method to control sanitization levels.
|
79
|
+
# Currently a user who is an admin will not have their content sanitized. A user
|
80
|
+
# in any role 'editor', 'manager', or 'contributor' will be given the 'RELAXED' settings
|
81
|
+
# while all other users will get 'BASIC'.
|
82
|
+
#
|
83
|
+
# Options are from sanitze:
|
84
|
+
# nil - no sanitize
|
85
|
+
# Sanitize::Config::RELAXED
|
86
|
+
# Sanitize::Config::BASIC
|
87
|
+
# Sanitize::Config::RESTRICTED
|
88
|
+
# for more details see: http://rgrove.github.com/sanitize/
|
89
|
+
def sanitize_level
|
90
|
+
return Sanitize::Config::BASIC if self.user.nil?
|
91
|
+
return nil if self.user.admin?
|
92
|
+
return Sanitize::Config::RELAXED if self.user.any_role?('editor', 'manager', 'contributor')
|
93
|
+
Sanitize::Config::BASIC
|
94
|
+
end
|
95
|
+
|
96
|
+
|
45
97
|
end
|
46
98
|
|
47
99
|
end
|
data/locales/en.yml
CHANGED
@@ -10,4 +10,19 @@ en:
|
|
10
10
|
edit_success: "Successfully updated your profile"
|
11
11
|
edit_failure: "An error occured while updating your profile."
|
12
12
|
could_not_find_user: "Could not find the specified user."
|
13
|
-
|
13
|
+
location: "Location"
|
14
|
+
skills: "Skills"
|
15
|
+
interests: "Interests"
|
16
|
+
state: "State"
|
17
|
+
country: "Country"
|
18
|
+
language: "Language"
|
19
|
+
about: "About"
|
20
|
+
about_help: "Enter a biographical information to help others find out about your skills, interests, etc."
|
21
|
+
location_help: "Enter your location. For example: Logan, UT, New York City, NY, etc"
|
22
|
+
skills_help: "Enter a comma delimited list of your skills. For example: ruby on rails, php, mysql, physics, math"
|
23
|
+
interests_help: "Enter a comma delimited list of your interests. For example: cycling, mountain biking, chess, movies"
|
24
|
+
state_help: "Enter your state if this is relevant to your country."
|
25
|
+
country_help: "Enter your current current."
|
26
|
+
language_help: "Enter your primary language"
|
27
|
+
location_suggestion: "We think you're in {{location}}."
|
28
|
+
click_to_set: "Click to set this as your location."
|
data/muck-profiles.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{muck-profiles}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.17"
|
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", "Joel Duffin"]
|
12
|
-
s.date = %q{2009-11-
|
12
|
+
s.date = %q{2009-11-30}
|
13
13
|
s.description = %q{Profile engine for the muck system.}
|
14
14
|
s.email = %q{justin@tatemae.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -26,6 +26,7 @@ Gem::Specification.new do |s|
|
|
26
26
|
"app/helpers/muck_profiles_helper.rb",
|
27
27
|
"app/views/admin/profiles/edit.html.erb",
|
28
28
|
"app/views/profiles/_form.html.erb",
|
29
|
+
"app/views/profiles/_location_suggestion.html.erb",
|
29
30
|
"app/views/profiles/_profile.html.erb",
|
30
31
|
"app/views/profiles/_profile_icon.html.erb",
|
31
32
|
"app/views/profiles/edit.html.erb",
|
@@ -33,6 +34,8 @@ Gem::Specification.new do |s|
|
|
33
34
|
"app/views/profiles/show.html.erb",
|
34
35
|
"config/muck_profiles_routes.rb",
|
35
36
|
"db/migrate/20090512013727_create_profiles.rb",
|
37
|
+
"db/migrate/20091124203137_add_location_to_profiles.rb",
|
38
|
+
"db/migrate/20091124205819_add_fields_to_profiles.rb",
|
36
39
|
"install.rb",
|
37
40
|
"lib/active_record/acts/muck_profile.rb",
|
38
41
|
"lib/active_record/has/muck_profile.rb",
|
@@ -107,7 +110,8 @@ Gem::Specification.new do |s|
|
|
107
110
|
"test/rails_root/config/environments/development.rb",
|
108
111
|
"test/rails_root/config/environments/production.rb",
|
109
112
|
"test/rails_root/config/environments/test.rb",
|
110
|
-
"test/rails_root/config/global_config.yml",
|
113
|
+
"test/rails_root/config/global_config.example.yml",
|
114
|
+
"test/rails_root/config/initializers/geokit_config.rb",
|
111
115
|
"test/rails_root/config/initializers/inflections.rb",
|
112
116
|
"test/rails_root/config/initializers/mime_types.rb",
|
113
117
|
"test/rails_root/config/initializers/requires.rb",
|
@@ -115,24 +119,67 @@ Gem::Specification.new do |s|
|
|
115
119
|
"test/rails_root/config/routes.rb",
|
116
120
|
"test/rails_root/db/.keep",
|
117
121
|
"test/rails_root/db/migrate/20090320174818_create_muck_permissions_and_roles.rb",
|
122
|
+
"test/rails_root/db/migrate/20090402234137_create_languages.rb",
|
123
|
+
"test/rails_root/db/migrate/20090426041056_create_countries.rb",
|
124
|
+
"test/rails_root/db/migrate/20090426041103_create_states.rb",
|
118
125
|
"test/rails_root/db/migrate/20090512013727_create_profiles.rb",
|
119
126
|
"test/rails_root/db/migrate/20090602041838_create_users.rb",
|
127
|
+
"test/rails_root/db/migrate/20091124203137_add_location_to_profiles.rb",
|
128
|
+
"test/rails_root/db/migrate/20091124205819_add_fields_to_profiles.rb",
|
120
129
|
"test/rails_root/features/step_definitions/webrat_steps.rb",
|
121
130
|
"test/rails_root/features/support/env.rb",
|
131
|
+
"test/rails_root/lib/tasks/muck.rake",
|
122
132
|
"test/rails_root/public/.htaccess",
|
123
133
|
"test/rails_root/public/404.html",
|
124
134
|
"test/rails_root/public/422.html",
|
125
135
|
"test/rails_root/public/500.html",
|
126
136
|
"test/rails_root/public/dispatch.rb",
|
127
137
|
"test/rails_root/public/favicon.ico",
|
138
|
+
"test/rails_root/public/images/arrow_down.gif",
|
128
139
|
"test/rails_root/public/images/arrow_left.gif",
|
129
140
|
"test/rails_root/public/images/arrow_right.gif",
|
141
|
+
"test/rails_root/public/images/arrow_up.gif",
|
130
142
|
"test/rails_root/public/images/blue/preview.gif",
|
143
|
+
"test/rails_root/public/images/fancybox/fancy_closebox.png",
|
144
|
+
"test/rails_root/public/images/fancybox/fancy_left.png",
|
145
|
+
"test/rails_root/public/images/fancybox/fancy_progress.png",
|
146
|
+
"test/rails_root/public/images/fancybox/fancy_right.png",
|
147
|
+
"test/rails_root/public/images/fancybox/fancy_shadow_e.png",
|
148
|
+
"test/rails_root/public/images/fancybox/fancy_shadow_n.png",
|
149
|
+
"test/rails_root/public/images/fancybox/fancy_shadow_ne.png",
|
150
|
+
"test/rails_root/public/images/fancybox/fancy_shadow_nw.png",
|
151
|
+
"test/rails_root/public/images/fancybox/fancy_shadow_s.png",
|
152
|
+
"test/rails_root/public/images/fancybox/fancy_shadow_se.png",
|
153
|
+
"test/rails_root/public/images/fancybox/fancy_shadow_sw.png",
|
154
|
+
"test/rails_root/public/images/fancybox/fancy_shadow_w.png",
|
155
|
+
"test/rails_root/public/images/fancybox/fancy_title_left.png",
|
156
|
+
"test/rails_root/public/images/fancybox/fancy_title_main.png",
|
157
|
+
"test/rails_root/public/images/fancybox/fancy_title_right.png",
|
131
158
|
"test/rails_root/public/images/icons/accept.png",
|
132
159
|
"test/rails_root/public/images/icons/add.png",
|
160
|
+
"test/rails_root/public/images/icons/blue_guy.png",
|
161
|
+
"test/rails_root/public/images/icons/button_background.png",
|
162
|
+
"test/rails_root/public/images/icons/cancel.png",
|
163
|
+
"test/rails_root/public/images/icons/close.png",
|
164
|
+
"test/rails_root/public/images/icons/comment.png",
|
133
165
|
"test/rails_root/public/images/icons/delete.png",
|
166
|
+
"test/rails_root/public/images/icons/exclaim.png",
|
167
|
+
"test/rails_root/public/images/icons/external.png",
|
168
|
+
"test/rails_root/public/images/icons/feed.png",
|
169
|
+
"test/rails_root/public/images/icons/grey_guy.png",
|
170
|
+
"test/rails_root/public/images/icons/hide.png",
|
171
|
+
"test/rails_root/public/images/icons/information.png",
|
172
|
+
"test/rails_root/public/images/icons/minus.png",
|
173
|
+
"test/rails_root/public/images/icons/pending.png",
|
174
|
+
"test/rails_root/public/images/icons/question.png",
|
175
|
+
"test/rails_root/public/images/icons/search_box.png",
|
176
|
+
"test/rails_root/public/images/icons/star.png",
|
177
|
+
"test/rails_root/public/images/icons/stop.png",
|
178
|
+
"test/rails_root/public/images/icons/thumb_down.png",
|
179
|
+
"test/rails_root/public/images/icons/thumb_up.png",
|
134
180
|
"test/rails_root/public/images/icons/vote.png",
|
135
181
|
"test/rails_root/public/images/loading.gif",
|
182
|
+
"test/rails_root/public/images/nothing.png",
|
136
183
|
"test/rails_root/public/images/profile_default.jpg",
|
137
184
|
"test/rails_root/public/images/rails.png",
|
138
185
|
"test/rails_root/public/images/red/preview.gif",
|
@@ -144,17 +191,30 @@ Gem::Specification.new do |s|
|
|
144
191
|
"test/rails_root/public/javascripts/dragdrop.js",
|
145
192
|
"test/rails_root/public/javascripts/effects.js",
|
146
193
|
"test/rails_root/public/javascripts/fancyzoom.min.js",
|
194
|
+
"test/rails_root/public/javascripts/jquery/colorpicker.js",
|
147
195
|
"test/rails_root/public/javascripts/jquery/jquery-ui.js",
|
196
|
+
"test/rails_root/public/javascripts/jquery/jquery.autocomplete.js.readme",
|
197
|
+
"test/rails_root/public/javascripts/jquery/jquery.autocomplete.min.js",
|
198
|
+
"test/rails_root/public/javascripts/jquery/jquery.autocomplete.pack.js",
|
199
|
+
"test/rails_root/public/javascripts/jquery/jquery.easing.js",
|
200
|
+
"test/rails_root/public/javascripts/jquery/jquery.fancybox.js",
|
148
201
|
"test/rails_root/public/javascripts/jquery/jquery.form.js",
|
149
202
|
"test/rails_root/public/javascripts/jquery/jquery.jgrowl.js",
|
150
203
|
"test/rails_root/public/javascripts/jquery/jquery.js",
|
204
|
+
"test/rails_root/public/javascripts/jquery/jquery.metadata.min.js",
|
205
|
+
"test/rails_root/public/javascripts/jquery/jquery.queryString.js",
|
206
|
+
"test/rails_root/public/javascripts/jquery/jquery.swapimage.js",
|
207
|
+
"test/rails_root/public/javascripts/jquery/jquery.swapimage.min.js",
|
151
208
|
"test/rails_root/public/javascripts/jquery/jquery.tips.js",
|
209
|
+
"test/rails_root/public/javascripts/jquery/jrails.js",
|
152
210
|
"test/rails_root/public/javascripts/muck.js",
|
153
211
|
"test/rails_root/public/javascripts/muck_activities.js",
|
212
|
+
"test/rails_root/public/javascripts/muck_time/en.js",
|
154
213
|
"test/rails_root/public/javascripts/prototype.js",
|
155
214
|
"test/rails_root/public/javascripts/scriptaculous.js",
|
156
215
|
"test/rails_root/public/javascripts/slider.js",
|
157
216
|
"test/rails_root/public/javascripts/sound.js",
|
217
|
+
"test/rails_root/public/javascripts/tree.js",
|
158
218
|
"test/rails_root/public/robots.txt",
|
159
219
|
"test/rails_root/public/stylesheets/.keep",
|
160
220
|
"test/rails_root/public/stylesheets/admin.css",
|
@@ -208,6 +268,8 @@ Gem::Specification.new do |s|
|
|
208
268
|
"test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_cd0a0a_256x240.png",
|
209
269
|
"test/rails_root/public/stylesheets/jquery/cupertino/images/ui-icons_ffffff_256x240.png",
|
210
270
|
"test/rails_root/public/stylesheets/jquery/cupertino/jquery-ui-1.7.1.custom.css",
|
271
|
+
"test/rails_root/public/stylesheets/jquery/jquery.autocomplete.css",
|
272
|
+
"test/rails_root/public/stylesheets/jquery/jquery.fancybox.css",
|
211
273
|
"test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png",
|
212
274
|
"test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_flat_55_fbec88_40x100.png",
|
213
275
|
"test/rails_root/public/stylesheets/jquery/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png",
|
@@ -282,6 +344,48 @@ Gem::Specification.new do |s|
|
|
282
344
|
"test/rails_root/test/unit/.keep",
|
283
345
|
"test/rails_root/test/unit/profile_test.rb",
|
284
346
|
"test/rails_root/test/unit/user_test.rb",
|
347
|
+
"test/rails_root/vendor/plugins/geokit-rails/CHANGELOG.rdoc",
|
348
|
+
"test/rails_root/vendor/plugins/geokit-rails/MIT-LICENSE",
|
349
|
+
"test/rails_root/vendor/plugins/geokit-rails/README.markdown",
|
350
|
+
"test/rails_root/vendor/plugins/geokit-rails/Rakefile",
|
351
|
+
"test/rails_root/vendor/plugins/geokit-rails/about.yml",
|
352
|
+
"test/rails_root/vendor/plugins/geokit-rails/assets/api_keys_template",
|
353
|
+
"test/rails_root/vendor/plugins/geokit-rails/init.rb",
|
354
|
+
"test/rails_root/vendor/plugins/geokit-rails/install.rb",
|
355
|
+
"test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails.rb",
|
356
|
+
"test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/acts_as_mappable.rb",
|
357
|
+
"test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/adapters/abstract.rb",
|
358
|
+
"test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/adapters/mysql.rb",
|
359
|
+
"test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/adapters/postgresql.rb",
|
360
|
+
"test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/adapters/sqlserver.rb",
|
361
|
+
"test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/defaults.rb",
|
362
|
+
"test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/geocoder_control.rb",
|
363
|
+
"test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/ip_geocode_lookup.rb",
|
364
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/acts_as_mappable_test.rb",
|
365
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/boot.rb",
|
366
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/database.yml",
|
367
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/fixtures/companies.yml",
|
368
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/fixtures/custom_locations.yml",
|
369
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/fixtures/locations.yml",
|
370
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/fixtures/mock_addresses.yml",
|
371
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/fixtures/mock_families.yml",
|
372
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/fixtures/mock_houses.yml",
|
373
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/fixtures/mock_organizations.yml",
|
374
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/fixtures/mock_people.yml",
|
375
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/fixtures/stores.yml",
|
376
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/ip_geocode_lookup_test.rb",
|
377
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/models/company.rb",
|
378
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/models/custom_location.rb",
|
379
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/models/location.rb",
|
380
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/models/mock_address.rb",
|
381
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/models/mock_family.rb",
|
382
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/models/mock_house.rb",
|
383
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/models/mock_organization.rb",
|
384
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/models/mock_person.rb",
|
385
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/models/store.rb",
|
386
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/schema.rb",
|
387
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/tasks.rake",
|
388
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/test_helper.rb",
|
285
389
|
"test/rails_root/vendor/plugins/ssl_requirement/README",
|
286
390
|
"test/rails_root/vendor/plugins/ssl_requirement/lib/ssl_requirement.rb",
|
287
391
|
"test/rails_root/vendor/plugins/ssl_requirement/test/ssl_requirement_test.rb",
|
@@ -307,14 +411,20 @@ Gem::Specification.new do |s|
|
|
307
411
|
"test/rails_root/config/environments/development.rb",
|
308
412
|
"test/rails_root/config/environments/production.rb",
|
309
413
|
"test/rails_root/config/environments/test.rb",
|
414
|
+
"test/rails_root/config/initializers/geokit_config.rb",
|
310
415
|
"test/rails_root/config/initializers/inflections.rb",
|
311
416
|
"test/rails_root/config/initializers/mime_types.rb",
|
312
417
|
"test/rails_root/config/initializers/requires.rb",
|
313
418
|
"test/rails_root/config/initializers/session_store.rb",
|
314
419
|
"test/rails_root/config/routes.rb",
|
315
420
|
"test/rails_root/db/migrate/20090320174818_create_muck_permissions_and_roles.rb",
|
421
|
+
"test/rails_root/db/migrate/20090402234137_create_languages.rb",
|
422
|
+
"test/rails_root/db/migrate/20090426041056_create_countries.rb",
|
423
|
+
"test/rails_root/db/migrate/20090426041103_create_states.rb",
|
316
424
|
"test/rails_root/db/migrate/20090512013727_create_profiles.rb",
|
317
425
|
"test/rails_root/db/migrate/20090602041838_create_users.rb",
|
426
|
+
"test/rails_root/db/migrate/20091124203137_add_location_to_profiles.rb",
|
427
|
+
"test/rails_root/db/migrate/20091124205819_add_fields_to_profiles.rb",
|
318
428
|
"test/rails_root/features/step_definitions/webrat_steps.rb",
|
319
429
|
"test/rails_root/features/support/env.rb",
|
320
430
|
"test/rails_root/public/dispatch.rb",
|
@@ -324,6 +434,31 @@ Gem::Specification.new do |s|
|
|
324
434
|
"test/rails_root/test/test_helper.rb",
|
325
435
|
"test/rails_root/test/unit/profile_test.rb",
|
326
436
|
"test/rails_root/test/unit/user_test.rb",
|
437
|
+
"test/rails_root/vendor/plugins/geokit-rails/init.rb",
|
438
|
+
"test/rails_root/vendor/plugins/geokit-rails/install.rb",
|
439
|
+
"test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/acts_as_mappable.rb",
|
440
|
+
"test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/adapters/abstract.rb",
|
441
|
+
"test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/adapters/mysql.rb",
|
442
|
+
"test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/adapters/postgresql.rb",
|
443
|
+
"test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/adapters/sqlserver.rb",
|
444
|
+
"test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/defaults.rb",
|
445
|
+
"test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/geocoder_control.rb",
|
446
|
+
"test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails/ip_geocode_lookup.rb",
|
447
|
+
"test/rails_root/vendor/plugins/geokit-rails/lib/geokit-rails.rb",
|
448
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/acts_as_mappable_test.rb",
|
449
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/boot.rb",
|
450
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/ip_geocode_lookup_test.rb",
|
451
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/models/company.rb",
|
452
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/models/custom_location.rb",
|
453
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/models/location.rb",
|
454
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/models/mock_address.rb",
|
455
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/models/mock_family.rb",
|
456
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/models/mock_house.rb",
|
457
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/models/mock_organization.rb",
|
458
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/models/mock_person.rb",
|
459
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/models/store.rb",
|
460
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/schema.rb",
|
461
|
+
"test/rails_root/vendor/plugins/geokit-rails/test/test_helper.rb",
|
327
462
|
"test/rails_root/vendor/plugins/ssl_requirement/lib/ssl_requirement.rb",
|
328
463
|
"test/rails_root/vendor/plugins/ssl_requirement/test/ssl_requirement_test.rb"
|
329
464
|
]
|
@@ -335,12 +470,18 @@ Gem::Specification.new do |s|
|
|
335
470
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
336
471
|
s.add_runtime_dependency(%q<muck-engine>, [">= 0"])
|
337
472
|
s.add_runtime_dependency(%q<muck-users>, [">= 0"])
|
473
|
+
s.add_runtime_dependency(%q<geokit>, [">= 0"])
|
474
|
+
s.add_runtime_dependency(%q<paperclip>, [">= 0"])
|
338
475
|
else
|
339
476
|
s.add_dependency(%q<muck-engine>, [">= 0"])
|
340
477
|
s.add_dependency(%q<muck-users>, [">= 0"])
|
478
|
+
s.add_dependency(%q<geokit>, [">= 0"])
|
479
|
+
s.add_dependency(%q<paperclip>, [">= 0"])
|
341
480
|
end
|
342
481
|
else
|
343
482
|
s.add_dependency(%q<muck-engine>, [">= 0"])
|
344
483
|
s.add_dependency(%q<muck-users>, [">= 0"])
|
484
|
+
s.add_dependency(%q<geokit>, [">= 0"])
|
485
|
+
s.add_dependency(%q<paperclip>, [">= 0"])
|
345
486
|
end
|
346
487
|
end
|