muck-profiles 3.0.1 → 3.0.2
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 +4 -1
- data/VERSION +1 -1
- data/app/controllers/muck/profiles_controller.rb +15 -3
- data/config/locales/en.yml +2 -1
- data/lib/muck-profiles/config.rb +2 -1
- data/lib/muck-profiles/models/profile.rb +13 -4
- data/muck-profiles.gemspec +2 -2
- data/test/rails_test/Gemfile +1 -1
- data/test/rails_test/Gemfile.lock +65 -58
- metadata +4 -4
data/README.rdoc
CHANGED
@@ -79,6 +79,7 @@ Your user model will now appear to have a 'photo' which is delegated to the prof
|
|
79
79
|
Create an initializer to configure muck profiles:
|
80
80
|
|
81
81
|
MuckProfiles.configure do |config|
|
82
|
+
config.enable_sunspot = false # This enables or disables sunspot for profiles. Only use acts_as_solr or sunspot not both. Sunspot does not include multicore support.
|
82
83
|
config.enable_solr = true # This enables or disables acts as solr for profiles.
|
83
84
|
config.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.
|
84
85
|
end
|
@@ -87,10 +88,11 @@ Create an initializer to configure muck profiles:
|
|
87
88
|
Muck Profiles works with solr to allow searching users.
|
88
89
|
|
89
90
|
|
90
|
-
If you enable
|
91
|
+
If you enable acts_as_solr or sunspot you'll also want to specify a default policy in your configuration. This policy is used to determine which fields are public and private.
|
91
92
|
The default policy looks like this:
|
92
93
|
|
93
94
|
MuckProfiles.configure do |config|
|
95
|
+
config.enable_sunspot = false # This enables or disables sunspot for profiles. Only use acts_as_solr or sunspot not both. Sunspot does not include multicore support.
|
94
96
|
config.enable_solr = true # This enables or disables acts as solr for profiles.
|
95
97
|
config.enable_geokit = true # Turn geokit functionality on/off.
|
96
98
|
config.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.
|
@@ -105,6 +107,7 @@ If you add attributes to the profile as show below then you will want to specify
|
|
105
107
|
possible to add new privacy levels simply by adding new values to the hash. For example:
|
106
108
|
|
107
109
|
MuckProfiles.configure do |config|
|
110
|
+
config.enable_sunspot = false # This enables or disables sunspot for profiles. Only use acts_as_solr or sunspot not both. Sunspot does not include multicore support.
|
108
111
|
config.enable_solr = true # This enables or disables acts as solr for profiles.
|
109
112
|
config.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.
|
110
113
|
config.policy => { :public => [:login, :first_name, :last_name, :about],
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.0.
|
1
|
+
3.0.2
|
@@ -14,9 +14,21 @@ class Muck::ProfilesController < ApplicationController
|
|
14
14
|
@query = params[:q]
|
15
15
|
@page = (params[:page] || 1).to_i
|
16
16
|
@rows = (params[:rows] || 10).to_i
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
if MuckProfile.configuration.enable_solr
|
18
|
+
results = Profile.find_by_solr(@query, :limit => @rows, :offset => @rows*(@page-1), :core => 'en')
|
19
|
+
@hit_count = results.total
|
20
|
+
@users = results.results.paginate(:page => @page, :per_page => @rows, :total_entries => @hit_count)
|
21
|
+
elsif MuckProfile.configuration.enable_sunspot
|
22
|
+
results = Sunspot.search Profile do
|
23
|
+
keywords @query
|
24
|
+
paginate :page => @page, :per_page => @per_page
|
25
|
+
end
|
26
|
+
@hit_count = results.total
|
27
|
+
@users = results.results.paginate(:page => @page, :per_page => @rows, :total_entries => @hit_count)
|
28
|
+
else
|
29
|
+
raise translate('muck.profiles.search_not_enabled')
|
30
|
+
end
|
31
|
+
|
20
32
|
respond_to do |format|
|
21
33
|
format.html { render :template => 'profiles/index' }
|
22
34
|
end
|
data/config/locales/en.yml
CHANGED
@@ -25,4 +25,5 @@ en:
|
|
25
25
|
country_help: "Enter your current current."
|
26
26
|
language_help: "Enter your primary language"
|
27
27
|
location_suggestion: "We think you're in %{location}."
|
28
|
-
click_to_set: "Click to set this as your location."
|
28
|
+
click_to_set: "Click to set this as your location."
|
29
|
+
search_not_enabled: "Search not enabled for profiles. Set either enable_solr or enable_sunspot to true in your profile configuration."
|
data/lib/muck-profiles/config.rb
CHANGED
@@ -13,13 +13,14 @@ module MuckProfiles
|
|
13
13
|
end
|
14
14
|
|
15
15
|
class Configuration
|
16
|
-
|
16
|
+
attr_accessor :enable_sunspot # This enables or disables sunspot for profiles. Only use acts_as_solr or sunspot not both. Sunspot does not include multicore support.
|
17
17
|
attr_accessor :enable_solr # This enables or disables acts as solr for profiles.
|
18
18
|
attr_accessor :enable_geokit # Turn geokit functionality on/off
|
19
19
|
attr_accessor :enable_guess_location # If true the profile system will attempt to determine the user's location via IP and populated with the location, lat and lon fields.
|
20
20
|
attr_accessor :policy
|
21
21
|
|
22
22
|
def initialize
|
23
|
+
self.enable_sunspot = false
|
23
24
|
self.enable_solr = true
|
24
25
|
self.enable_guess_location = true
|
25
26
|
self.policy = { :public => [:login, :first_name, :last_name, :about],
|
@@ -32,13 +32,13 @@ module MuckProfiles
|
|
32
32
|
|
33
33
|
acts_as_mappable if MuckProfiles.configuration.enable_geokit
|
34
34
|
|
35
|
-
if MuckProfiles.configuration.enable_solr
|
35
|
+
if MuckProfiles.configuration.enable_solr || MuckProfiles.configuration.enable_sunspot
|
36
36
|
fields = []
|
37
37
|
MuckProfiles.configuration.policy.keys.each do |key|
|
38
38
|
field_name = "#{key}_fields"
|
39
39
|
fields << {field_name.to_sym, :text}
|
40
40
|
# Setup a method for each key in the policy that can generate a string of all the fields
|
41
|
-
# associated with that key. acts_as_solr will call this method.
|
41
|
+
# associated with that key. acts_as_solr or sunspot will call this method.
|
42
42
|
instance_eval do
|
43
43
|
define_method field_name do
|
44
44
|
MuckProfiles.configuration.policy[key].collect{ |attribute| self.send(attribute) }.join(' ')
|
@@ -48,8 +48,17 @@ module MuckProfiles
|
|
48
48
|
write_inheritable_array(:solr_fields, fields)
|
49
49
|
write_inheritable_hash(:default_policy, MuckProfiles.configuration.policy)
|
50
50
|
|
51
|
-
|
52
|
-
|
51
|
+
if MuckProfiles.configuration.enable_solr
|
52
|
+
require 'acts_as_solr'
|
53
|
+
acts_as_solr( {:fields => fields}, {:multi_core => true, :default_core => 'en'})
|
54
|
+
elsif MuckProfiles.configuration.enable_sunspot
|
55
|
+
require 'sunspot'
|
56
|
+
searchable do
|
57
|
+
fields.each do |field|
|
58
|
+
text field
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
53
62
|
end
|
54
63
|
|
55
64
|
attr_protected :created_at, :updated_at, :photo_file_name, :photo_content_type, :photo_file_size
|
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 = "3.0.
|
8
|
+
s.version = "3.0.2"
|
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{2010-10-
|
12
|
+
s.date = %q{2010-10-27}
|
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 = [
|
data/test/rails_test/Gemfile
CHANGED
@@ -14,7 +14,7 @@ PATH
|
|
14
14
|
PATH
|
15
15
|
remote: /Users/jbasdf/projects/muck-activities
|
16
16
|
specs:
|
17
|
-
muck-activities (3.0.
|
17
|
+
muck-activities (3.0.1)
|
18
18
|
muck-comments
|
19
19
|
muck-engine
|
20
20
|
muck-users
|
@@ -22,7 +22,7 @@ PATH
|
|
22
22
|
PATH
|
23
23
|
remote: /Users/jbasdf/projects/muck-comments
|
24
24
|
specs:
|
25
|
-
muck-comments (3.0.
|
25
|
+
muck-comments (3.0.2)
|
26
26
|
muck-engine
|
27
27
|
muck-users
|
28
28
|
nested_set
|
@@ -31,7 +31,7 @@ PATH
|
|
31
31
|
PATH
|
32
32
|
remote: /Users/jbasdf/projects/muck-contents
|
33
33
|
specs:
|
34
|
-
muck-contents (3.0.
|
34
|
+
muck-contents (3.0.1)
|
35
35
|
acts-as-taggable-on
|
36
36
|
awesome_nested_set
|
37
37
|
babelphish
|
@@ -46,7 +46,7 @@ PATH
|
|
46
46
|
PATH
|
47
47
|
remote: /Users/jbasdf/projects/muck-engine
|
48
48
|
specs:
|
49
|
-
muck-engine (3.0.
|
49
|
+
muck-engine (3.0.6)
|
50
50
|
overlord
|
51
51
|
validation_reflection
|
52
52
|
will_paginate (~> 3.0.beta)
|
@@ -54,7 +54,7 @@ PATH
|
|
54
54
|
PATH
|
55
55
|
remote: /Users/jbasdf/projects/muck-profiles
|
56
56
|
specs:
|
57
|
-
muck-profiles (3.0.
|
57
|
+
muck-profiles (3.0.1)
|
58
58
|
geokit
|
59
59
|
muck-comments
|
60
60
|
muck-contents
|
@@ -70,7 +70,7 @@ PATH
|
|
70
70
|
PATH
|
71
71
|
remote: /Users/jbasdf/projects/muck-shares
|
72
72
|
specs:
|
73
|
-
muck-shares (3.0.
|
73
|
+
muck-shares (3.0.1)
|
74
74
|
muck-activities
|
75
75
|
muck-comments
|
76
76
|
muck-engine
|
@@ -79,11 +79,11 @@ PATH
|
|
79
79
|
PATH
|
80
80
|
remote: /Users/jbasdf/projects/muck-users
|
81
81
|
specs:
|
82
|
-
muck-users (3.0.
|
82
|
+
muck-users (3.0.5)
|
83
83
|
authlogic
|
84
84
|
bcrypt-ruby
|
85
85
|
friendly_id
|
86
|
-
muck-engine
|
86
|
+
muck-engine (>= 3.0.3)
|
87
87
|
|
88
88
|
PATH
|
89
89
|
remote: /Users/jbasdf/projects/other_apps/shoulda
|
@@ -94,12 +94,12 @@ GEM
|
|
94
94
|
remote: http://rubygems.org/
|
95
95
|
specs:
|
96
96
|
abstract (1.0.0)
|
97
|
-
actionmailer (3.0.
|
98
|
-
actionpack (= 3.0.
|
97
|
+
actionmailer (3.0.1)
|
98
|
+
actionpack (= 3.0.1)
|
99
99
|
mail (~> 2.2.5)
|
100
|
-
actionpack (3.0.
|
101
|
-
activemodel (= 3.0.
|
102
|
-
activesupport (= 3.0.
|
100
|
+
actionpack (3.0.1)
|
101
|
+
activemodel (= 3.0.1)
|
102
|
+
activesupport (= 3.0.1)
|
103
103
|
builder (~> 2.1.2)
|
104
104
|
erubis (~> 2.6.6)
|
105
105
|
i18n (~> 0.4.1)
|
@@ -107,19 +107,19 @@ GEM
|
|
107
107
|
rack-mount (~> 0.6.12)
|
108
108
|
rack-test (~> 0.5.4)
|
109
109
|
tzinfo (~> 0.3.23)
|
110
|
-
activemodel (3.0.
|
111
|
-
activesupport (= 3.0.
|
110
|
+
activemodel (3.0.1)
|
111
|
+
activesupport (= 3.0.1)
|
112
112
|
builder (~> 2.1.2)
|
113
113
|
i18n (~> 0.4.1)
|
114
|
-
activerecord (3.0.
|
115
|
-
activemodel (= 3.0.
|
116
|
-
activesupport (= 3.0.
|
114
|
+
activerecord (3.0.1)
|
115
|
+
activemodel (= 3.0.1)
|
116
|
+
activesupport (= 3.0.1)
|
117
117
|
arel (~> 1.0.0)
|
118
118
|
tzinfo (~> 0.3.23)
|
119
|
-
activeresource (3.0.
|
120
|
-
activemodel (= 3.0.
|
121
|
-
activesupport (= 3.0.
|
122
|
-
activesupport (3.0.
|
119
|
+
activeresource (3.0.1)
|
120
|
+
activemodel (= 3.0.1)
|
121
|
+
activesupport (= 3.0.1)
|
122
|
+
activesupport (3.0.1)
|
123
123
|
acts-as-taggable-on (2.0.6)
|
124
124
|
arel (1.0.1)
|
125
125
|
activesupport (~> 3.0.0)
|
@@ -135,28 +135,31 @@ GEM
|
|
135
135
|
babosa (0.2.0)
|
136
136
|
bcrypt-ruby (2.1.2)
|
137
137
|
builder (2.1.2)
|
138
|
-
capybara (0.
|
138
|
+
capybara (0.4.0)
|
139
|
+
celerity (>= 0.7.9)
|
139
140
|
culerity (>= 0.2.4)
|
140
141
|
mime-types (>= 1.16)
|
141
142
|
nokogiri (>= 1.3.3)
|
142
143
|
rack (>= 1.0.0)
|
143
144
|
rack-test (>= 0.5.4)
|
144
|
-
selenium-webdriver (>= 0.0.
|
145
|
-
|
145
|
+
selenium-webdriver (>= 0.0.27)
|
146
|
+
xpath (~> 0.1.2)
|
147
|
+
celerity (0.8.2)
|
148
|
+
childprocess (0.1.3)
|
146
149
|
ffi (~> 0.6.3)
|
147
150
|
columnize (0.3.1)
|
148
151
|
configuration (1.1.0)
|
149
152
|
crack (0.1.8)
|
150
|
-
cucumber (0.9.
|
153
|
+
cucumber (0.9.3)
|
151
154
|
builder (~> 2.1.2)
|
152
155
|
diff-lcs (~> 1.1.2)
|
153
|
-
gherkin (~> 2.2.
|
156
|
+
gherkin (~> 2.2.9)
|
154
157
|
json (~> 1.4.6)
|
155
158
|
term-ansicolor (~> 1.0.5)
|
156
159
|
cucumber-rails (0.3.2)
|
157
160
|
cucumber (>= 0.8.0)
|
158
161
|
culerity (0.2.12)
|
159
|
-
database_cleaner (0.
|
162
|
+
database_cleaner (0.6.0)
|
160
163
|
diff-lcs (1.1.2)
|
161
164
|
disguise (3.0.2)
|
162
165
|
erubis (2.6.6)
|
@@ -167,32 +170,34 @@ GEM
|
|
167
170
|
friendly_id (3.1.7)
|
168
171
|
babosa (~> 0.2.0)
|
169
172
|
geokit (1.5.0)
|
170
|
-
gherkin (2.2.
|
173
|
+
gherkin (2.2.9)
|
171
174
|
json (~> 1.4.6)
|
172
175
|
term-ansicolor (~> 1.0.5)
|
173
176
|
httparty (0.6.1)
|
174
177
|
crack (= 0.1.8)
|
175
|
-
i18n (0.4.
|
178
|
+
i18n (0.4.2)
|
176
179
|
json (1.4.6)
|
177
180
|
json_pure (1.4.6)
|
178
181
|
launchy (0.3.7)
|
179
182
|
configuration (>= 0.0.5)
|
180
183
|
rake (>= 0.8.1)
|
181
184
|
linecache (0.43)
|
182
|
-
mail (2.2.
|
185
|
+
mail (2.2.9)
|
183
186
|
activesupport (>= 2.3.6)
|
184
|
-
|
185
|
-
|
187
|
+
i18n (~> 0.4.1)
|
188
|
+
mime-types (~> 1.16)
|
189
|
+
treetop (~> 1.4.8)
|
186
190
|
mime-types (1.16)
|
187
|
-
muck-raker (0.
|
191
|
+
muck-raker (3.0.0)
|
188
192
|
mysql (2.8.1)
|
189
193
|
nested_set (1.5.2)
|
190
194
|
activerecord (>= 3.0.0)
|
191
195
|
railties (>= 3.0.0)
|
192
196
|
nokogiri (1.4.3.1)
|
193
|
-
overlord (3.0.
|
197
|
+
overlord (3.0.2)
|
194
198
|
httparty
|
195
|
-
|
199
|
+
json
|
200
|
+
paperclip (2.3.5)
|
196
201
|
activerecord
|
197
202
|
activesupport
|
198
203
|
polyglot (0.3.1)
|
@@ -201,33 +206,33 @@ GEM
|
|
201
206
|
rack (>= 1.0.0)
|
202
207
|
rack-test (0.5.6)
|
203
208
|
rack (>= 1.0)
|
204
|
-
rails (3.0.
|
205
|
-
actionmailer (= 3.0.
|
206
|
-
actionpack (= 3.0.
|
207
|
-
activerecord (= 3.0.
|
208
|
-
activeresource (= 3.0.
|
209
|
-
activesupport (= 3.0.
|
209
|
+
rails (3.0.1)
|
210
|
+
actionmailer (= 3.0.1)
|
211
|
+
actionpack (= 3.0.1)
|
212
|
+
activerecord (= 3.0.1)
|
213
|
+
activeresource (= 3.0.1)
|
214
|
+
activesupport (= 3.0.1)
|
210
215
|
bundler (~> 1.0.0)
|
211
|
-
railties (= 3.0.
|
212
|
-
railties (3.0.
|
213
|
-
actionpack (= 3.0.
|
214
|
-
activesupport (= 3.0.
|
216
|
+
railties (= 3.0.1)
|
217
|
+
railties (3.0.1)
|
218
|
+
actionpack (= 3.0.1)
|
219
|
+
activesupport (= 3.0.1)
|
215
220
|
rake (>= 0.8.4)
|
216
221
|
thor (~> 0.14.0)
|
217
222
|
rake (0.8.7)
|
218
223
|
rcov (0.9.9)
|
219
|
-
rspec (2.0.
|
220
|
-
rspec-core (
|
221
|
-
rspec-expectations (
|
222
|
-
rspec-mocks (
|
223
|
-
rspec-core (2.0.
|
224
|
-
rspec-expectations (2.0.
|
224
|
+
rspec (2.0.1)
|
225
|
+
rspec-core (~> 2.0.1)
|
226
|
+
rspec-expectations (~> 2.0.1)
|
227
|
+
rspec-mocks (~> 2.0.1)
|
228
|
+
rspec-core (2.0.1)
|
229
|
+
rspec-expectations (2.0.1)
|
225
230
|
diff-lcs (>= 1.1.2)
|
226
|
-
rspec-mocks (2.0.
|
227
|
-
rspec-core (
|
228
|
-
rspec-expectations (
|
229
|
-
rspec-rails (2.0.
|
230
|
-
rspec (
|
231
|
+
rspec-mocks (2.0.1)
|
232
|
+
rspec-core (~> 2.0.1)
|
233
|
+
rspec-expectations (~> 2.0.1)
|
234
|
+
rspec-rails (2.0.1)
|
235
|
+
rspec (~> 2.0.0)
|
231
236
|
ruby-debug (0.10.3)
|
232
237
|
columnize (>= 0.1)
|
233
238
|
ruby-debug-base (~> 0.10.3.0)
|
@@ -256,6 +261,8 @@ GEM
|
|
256
261
|
validation_reflection (1.0.0)
|
257
262
|
will_paginate (3.0.pre2)
|
258
263
|
xml-simple (1.0.12)
|
264
|
+
xpath (0.1.2)
|
265
|
+
nokogiri (~> 1.3)
|
259
266
|
ya2yaml (0.30)
|
260
267
|
|
261
268
|
PLATFORMS
|
@@ -282,7 +289,7 @@ DEPENDENCIES
|
|
282
289
|
muck-users!
|
283
290
|
mysql
|
284
291
|
overlord
|
285
|
-
rails (= 3.0.
|
292
|
+
rails (= 3.0.1)
|
286
293
|
rcov
|
287
294
|
rspec (>= 2.0.0)
|
288
295
|
rspec-rails (>= 2.0.0)
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: muck-profiles
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 3
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 3
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 3.0.
|
9
|
+
- 2
|
10
|
+
version: 3.0.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Justin Ball
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2010-10-
|
19
|
+
date: 2010-10-27 00:00:00 -06:00
|
20
20
|
default_executable:
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|