muck-users 0.1.5 → 0.1.6
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 +8 -1
- data/Rakefile +1 -0
- data/VERSION +1 -1
- data/app/controllers/admin/muck/users_controller.rb +2 -2
- data/lib/active_record/acts/muck_user.rb +9 -2
- data/muck-users-0.1.4.gem +0 -0
- data/muck-users.gemspec +8 -1
- data/pkg/muck-users-0.1.6.gem +0 -0
- data/rails/init.rb +15 -1
- data/rdoc/classes/ActiveRecord/Acts/MuckUser/ClassMethods.html +2 -8
- data/rdoc/classes/ActiveRecord/Acts/MuckUser/InstanceMethods.html +15 -15
- data/rdoc/classes/ActiveRecord/Acts/MuckUser/SingletonMethods.html +6 -6
- data/rdoc/created.rid +1 -1
- data/rdoc/files/lib/active_record/acts/muck_user_rb.html +1 -1
- data/test/rails_root/app/controllers/application_controller.rb +6 -0
- data/test/rails_root/app/models/user.rb +1 -2
- data/test/rails_root/test/functional/admin/users_controller_test.rb +3 -5
- data/test/rails_root/test/shoulda_macros/controller.rb +7 -5
- data/test/rails_root/test/shoulda_macros/forms.rb +5 -1
- data/test/rails_root/test/shoulda_macros/models.rb +17 -1
- data/test/rails_root/test/shoulda_macros/pagination.rb +6 -1
- data/test/rails_root/test/shoulda_macros/plugins.rb +6 -2
- data/test/rails_root/test/test_helper.rb +1 -0
- data/test/rails_root/test/unit/user_test.rb +139 -0
- metadata +15 -1
data/README.rdoc
CHANGED
@@ -5,12 +5,19 @@
|
|
5
5
|
The muck users engine is part of the muck framework and relies upon the muck_engine as well as authlogic. Both gems should be installed automatically when you install the muck_users engine.
|
6
6
|
|
7
7
|
sudo gem install muck_users
|
8
|
+
|
9
|
+
Use search logic for searching users. Add this to environment.rb:
|
10
|
+
|
11
|
+
config.gem "binarylogic-searchlogic",
|
12
|
+
:lib => 'searchlogic',
|
13
|
+
:source => 'http://gems.github.com',
|
14
|
+
:version => '~> 2.0.0'
|
15
|
+
|
8
16
|
|
9
17
|
In addition, you will need to install the ssl_requirement plugin (http://github.com/rails/ssl_requirement/tree/master) into your Rails project:
|
10
18
|
|
11
19
|
ruby script/plugin install ssl_requirement
|
12
20
|
|
13
|
-
|
14
21
|
== General information
|
15
22
|
This engine implements authlogic. Some of the code contained was taken from here:
|
16
23
|
http://railsforum.com/viewtopic.php?id=14216 and here
|
data/Rakefile
CHANGED
@@ -13,6 +13,7 @@ begin
|
|
13
13
|
gem.authors = ["Justin Ball"]
|
14
14
|
gem.rubyforge_project = "muck-users"
|
15
15
|
gem.add_dependency "authlogic"
|
16
|
+
gem.add_dependency "binarylogic-searchlogic"
|
16
17
|
gem.add_dependency "bcrypt-ruby"
|
17
18
|
gem.add_dependency "muck-engine"
|
18
19
|
gem.files.include %w( tasks/*
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.6
|
@@ -1,6 +1,6 @@
|
|
1
1
|
class Admin::Muck::UsersController < Admin::Muck::BaseController
|
2
2
|
unloadable
|
3
|
-
|
3
|
+
|
4
4
|
before_filter :get_user, :only => [:update, :destroy]
|
5
5
|
|
6
6
|
def index
|
@@ -40,7 +40,7 @@ class Admin::Muck::UsersController < Admin::Muck::BaseController
|
|
40
40
|
def search_results
|
41
41
|
@users = User.do_search( params[:query] ).paginate(:page => @page, :per_page => @per_page )
|
42
42
|
end
|
43
|
-
|
43
|
+
|
44
44
|
def search
|
45
45
|
search_results
|
46
46
|
respond_to do |format|
|
@@ -22,6 +22,8 @@ module ActiveRecord
|
|
22
22
|
domain_tld_regex = '(?:[A-Z]{2}|com|org|net|edu|gov|mil|biz|info|mobi|name|aero|jobs|museum)'.freeze
|
23
23
|
email_regex = /\A#{email_name_regex}@#{domain_head_regex}#{domain_tld_regex}\z/i
|
24
24
|
|
25
|
+
before_save :lower_login
|
26
|
+
|
25
27
|
class_eval <<-EOV
|
26
28
|
validates_format_of :login, :with => /^[a-z0-9-]+$/i, :message => 'may only contain letters, numbers or a hyphen.'
|
27
29
|
validates_format_of :email, :with => email_regex, :message => 'does not look like a valid email address.'
|
@@ -40,8 +42,8 @@ module ActiveRecord
|
|
40
42
|
|
41
43
|
# class methods
|
42
44
|
module SingletonMethods
|
43
|
-
def do_search(
|
44
|
-
|
45
|
+
def do_search(query)
|
46
|
+
User.search(query)
|
45
47
|
end
|
46
48
|
|
47
49
|
def inactive_count
|
@@ -159,6 +161,11 @@ module ActiveRecord
|
|
159
161
|
# def confirmed?
|
160
162
|
# end
|
161
163
|
|
164
|
+
#lowercase all logins
|
165
|
+
def lower_login
|
166
|
+
self.login = self.login.nil? ? nil : self.login.downcase
|
167
|
+
end
|
168
|
+
|
162
169
|
def activate!
|
163
170
|
self.update_attribute(:activated_at, Time.now.utc)
|
164
171
|
end
|
Binary file
|
data/muck-users.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{muck-users}
|
5
|
-
s.version = "0.1.
|
5
|
+
s.version = "0.1.6"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Justin Ball"]
|
@@ -186,7 +186,9 @@ Gem::Specification.new do |s|
|
|
186
186
|
"locales/zh-TW.yml",
|
187
187
|
"locales/zh.yml",
|
188
188
|
"locales/zh.yml",
|
189
|
+
"muck-users-0.1.4.gem",
|
189
190
|
"muck-users.gemspec",
|
191
|
+
"pkg/muck-users-0.1.6.gem",
|
190
192
|
"public/images/profile_default.jpg",
|
191
193
|
"rails/init.rb",
|
192
194
|
"rails/init.rb",
|
@@ -426,6 +428,7 @@ Gem::Specification.new do |s|
|
|
426
428
|
"test/rails_root/test/unit/muck_user_mailer_test.rb",
|
427
429
|
"test/rails_root/test/unit/permission_test.rb",
|
428
430
|
"test/rails_root/test/unit/role_test.rb",
|
431
|
+
"test/rails_root/test/unit/user_test.rb",
|
429
432
|
"test/rails_root/vendor/plugins/ssl_requirement/README",
|
430
433
|
"test/rails_root/vendor/plugins/ssl_requirement/lib/ssl_requirement.rb",
|
431
434
|
"test/rails_root/vendor/plugins/ssl_requirement/test/ssl_requirement_test.rb",
|
@@ -477,6 +480,7 @@ Gem::Specification.new do |s|
|
|
477
480
|
"test/rails_root/test/unit/muck_user_mailer_test.rb",
|
478
481
|
"test/rails_root/test/unit/permission_test.rb",
|
479
482
|
"test/rails_root/test/unit/role_test.rb",
|
483
|
+
"test/rails_root/test/unit/user_test.rb",
|
480
484
|
"test/rails_root/vendor/plugins/ssl_requirement/lib/ssl_requirement.rb",
|
481
485
|
"test/rails_root/vendor/plugins/ssl_requirement/test/ssl_requirement_test.rb"
|
482
486
|
]
|
@@ -487,15 +491,18 @@ Gem::Specification.new do |s|
|
|
487
491
|
|
488
492
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
489
493
|
s.add_runtime_dependency(%q<authlogic>, [">= 0"])
|
494
|
+
s.add_runtime_dependency(%q<binarylogic-searchlogic>, [">= 0"])
|
490
495
|
s.add_runtime_dependency(%q<bcrypt-ruby>, [">= 0"])
|
491
496
|
s.add_runtime_dependency(%q<muck-engine>, [">= 0"])
|
492
497
|
else
|
493
498
|
s.add_dependency(%q<authlogic>, [">= 0"])
|
499
|
+
s.add_dependency(%q<binarylogic-searchlogic>, [">= 0"])
|
494
500
|
s.add_dependency(%q<bcrypt-ruby>, [">= 0"])
|
495
501
|
s.add_dependency(%q<muck-engine>, [">= 0"])
|
496
502
|
end
|
497
503
|
else
|
498
504
|
s.add_dependency(%q<authlogic>, [">= 0"])
|
505
|
+
s.add_dependency(%q<binarylogic-searchlogic>, [">= 0"])
|
499
506
|
s.add_dependency(%q<bcrypt-ruby>, [">= 0"])
|
500
507
|
s.add_dependency(%q<muck-engine>, [">= 0"])
|
501
508
|
end
|
Binary file
|
data/rails/init.rb
CHANGED
@@ -14,5 +14,19 @@ else
|
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
|
+
if config.respond_to?(:gems)
|
18
|
+
config.gem "binarylogic-searchlogic", :lib => 'searchlogic', :source => 'http://gems.github.com', :version => "~> 2.0.0"
|
19
|
+
else
|
20
|
+
begin
|
21
|
+
require 'binarylogic-searchlogic'
|
22
|
+
rescue LoadError
|
23
|
+
begin
|
24
|
+
gem 'binarylogic-searchlogic'
|
25
|
+
rescue Gem::LoadError
|
26
|
+
puts "Please install the binarylogic-searchlogic gem"
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
17
31
|
require 'muck_users'
|
18
|
-
require 'muck_users/initialize_routes'
|
32
|
+
require 'muck_users/initialize_routes'
|
@@ -138,14 +138,8 @@
|
|
138
138
|
<span class="ruby-identifier">domain_head_regex</span> = <span class="ruby-value str">'(?:[A-Z0-9\-]+\.)+'</span>.<span class="ruby-identifier">freeze</span>
|
139
139
|
<span class="ruby-identifier">domain_tld_regex</span> = <span class="ruby-value str">'(?:[A-Z]{2}|com|org|net|edu|gov|mil|biz|info|mobi|name|aero|jobs|museum)'</span>.<span class="ruby-identifier">freeze</span>
|
140
140
|
<span class="ruby-identifier">email_regex</span> = <span class="ruby-node">/\A#{email_name_regex}@#{domain_head_regex}#{domain_tld_regex}\z/i</span>
|
141
|
-
|
142
|
-
<span class="ruby-identifier">
|
143
|
-
<span class="ruby-identifier">:styles</span> =<span class="ruby-operator">></span> { <span class="ruby-identifier">:medium</span> =<span class="ruby-operator">></span> <span class="ruby-value str">"300x300>"</span>,
|
144
|
-
<span class="ruby-identifier">:thumb</span> =<span class="ruby-operator">></span> <span class="ruby-value str">"100x100>"</span>,
|
145
|
-
<span class="ruby-identifier">:icon</span> =<span class="ruby-operator">></span> <span class="ruby-value str">"50x50>"</span> },
|
146
|
-
<span class="ruby-identifier">:default_url</span> =<span class="ruby-operator">></span> <span class="ruby-value str">"/images/profile_default.jpg"</span>
|
147
|
-
|
148
|
-
<span class="ruby-identifier">class_eval</span> <span class="ruby-value str">"validates_format_of :login, :with => /^[a-z0-9-]+$/i, :message => 'may only contain letters, numbers or a hyphen.'\nvalidates_format_of :email, :with => email_regex, :message => 'does not look like a valid email address.'\n\n# prevents a user from submitting a crafted form that bypasses activation\nattr_protected :crypted_password, :password_salt, :persistence_token, :single_access_token, :perishable_token, :login_count,\n:failed_login_count, :last_request_at, :last_login_at, :current_login_at, :current_login_ip, :last_login_ip,\n:terms_of_service, :time_zone, :disabled_at, :activated_at, :created_at, :updated_at, :photo_file_name,\n:photo_content_type, :photo_file_size\n"</span>
|
141
|
+
|
142
|
+
<span class="ruby-identifier">class_eval</span> <span class="ruby-value str">"validates_format_of :login, :with => /^[a-z0-9-]+$/i, :message => 'may only contain letters, numbers or a hyphen.'\nvalidates_format_of :email, :with => email_regex, :message => 'does not look like a valid email address.'\n\n# prevents a user from submitting a crafted form that bypasses activation\nattr_protected :crypted_password, :password_salt, :persistence_token, :single_access_token, :perishable_token, :login_count,\n:failed_login_count, :last_request_at, :last_login_at, :current_login_at, :current_login_ip, :last_login_ip,\n:terms_of_service, :time_zone, :disabled_at, :activated_at, :created_at, :updated_at\n"</span>
|
149
143
|
|
150
144
|
<span class="ruby-identifier">include</span> <span class="ruby-constant">ActiveRecord</span><span class="ruby-operator">::</span><span class="ruby-constant">Acts</span><span class="ruby-operator">::</span><span class="ruby-constant">MuckUser</span><span class="ruby-operator">::</span><span class="ruby-constant">InstanceMethods</span>
|
151
145
|
<span class="ruby-identifier">extend</span> <span class="ruby-constant">ActiveRecord</span><span class="ruby-operator">::</span><span class="ruby-constant">Acts</span><span class="ruby-operator">::</span><span class="ruby-constant">MuckUser</span><span class="ruby-operator">::</span><span class="ruby-constant">SingletonMethods</span>
|
@@ -143,7 +143,7 @@ def confirmed? end
|
|
143
143
|
onclick="toggleCode('M000042-source');return false;">[Source]</a></p>
|
144
144
|
<div class="method-source-code" id="M000042-source">
|
145
145
|
<pre>
|
146
|
-
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line
|
146
|
+
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line 163</span>
|
147
147
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">activate!</span>
|
148
148
|
<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">update_attribute</span>(<span class="ruby-identifier">:activated_at</span>, <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>.<span class="ruby-identifier">utc</span>)
|
149
149
|
<span class="ruby-keyword kw">end</span>
|
@@ -169,7 +169,7 @@ Authlogic automatically executes the following methods
|
|
169
169
|
onclick="toggleCode('M000041-source');return false;">[Source]</a></p>
|
170
170
|
<div class="method-source-code" id="M000041-source">
|
171
171
|
<pre>
|
172
|
-
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line
|
172
|
+
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line 153</span>
|
173
173
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">active?</span>
|
174
174
|
<span class="ruby-operator">!</span><span class="ruby-identifier">activated_at</span>.<span class="ruby-identifier">blank?</span>
|
175
175
|
<span class="ruby-keyword kw">end</span>
|
@@ -192,7 +192,7 @@ Authlogic automatically executes the following methods
|
|
192
192
|
onclick="toggleCode('M000038-source');return false;">[Source]</a></p>
|
193
193
|
<div class="method-source-code" id="M000038-source">
|
194
194
|
<pre>
|
195
|
-
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line
|
195
|
+
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line 135</span>
|
196
196
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">admin?</span>
|
197
197
|
<span class="ruby-identifier">has_role?</span>(<span class="ruby-value str">'administrator'</span>)
|
198
198
|
<span class="ruby-keyword kw">end</span>
|
@@ -215,7 +215,7 @@ Authlogic automatically executes the following methods
|
|
215
215
|
onclick="toggleCode('M000039-source');return false;">[Source]</a></p>
|
216
216
|
<div class="method-source-code" id="M000039-source">
|
217
217
|
<pre>
|
218
|
-
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line
|
218
|
+
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line 139</span>
|
219
219
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">can_edit?</span>(<span class="ruby-identifier">user</span>)
|
220
220
|
<span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">user</span>.<span class="ruby-identifier">nil?</span>
|
221
221
|
<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">id</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">user</span>.<span class="ruby-identifier">id</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">user</span>.<span class="ruby-identifier">admin?</span>
|
@@ -239,7 +239,7 @@ Authlogic automatically executes the following methods
|
|
239
239
|
onclick="toggleCode('M000032-source');return false;">[Source]</a></p>
|
240
240
|
<div class="method-source-code" id="M000032-source">
|
241
241
|
<pre>
|
242
|
-
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line
|
242
|
+
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line 97</span>
|
243
243
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">deliver_activation_confirmation!</span>
|
244
244
|
<span class="ruby-identifier">reset_perishable_token!</span>
|
245
245
|
<span class="ruby-constant">MuckUserMailer</span>.<span class="ruby-identifier">deliver_activation_confirmation</span>(<span class="ruby-keyword kw">self</span>)
|
@@ -263,7 +263,7 @@ Authlogic automatically executes the following methods
|
|
263
263
|
onclick="toggleCode('M000033-source');return false;">[Source]</a></p>
|
264
264
|
<div class="method-source-code" id="M000033-source">
|
265
265
|
<pre>
|
266
|
-
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line
|
266
|
+
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line 102</span>
|
267
267
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">deliver_activation_instructions!</span>
|
268
268
|
<span class="ruby-identifier">reset_perishable_token!</span>
|
269
269
|
<span class="ruby-constant">MuckUserMailer</span>.<span class="ruby-identifier">deliver_activation_instructions</span>(<span class="ruby-keyword kw">self</span>)
|
@@ -287,7 +287,7 @@ Authlogic automatically executes the following methods
|
|
287
287
|
onclick="toggleCode('M000034-source');return false;">[Source]</a></p>
|
288
288
|
<div class="method-source-code" id="M000034-source">
|
289
289
|
<pre>
|
290
|
-
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line
|
290
|
+
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line 107</span>
|
291
291
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">deliver_password_reset_instructions!</span>
|
292
292
|
<span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">active?</span>
|
293
293
|
<span class="ruby-identifier">reset_perishable_token!</span>
|
@@ -315,7 +315,7 @@ Authlogic automatically executes the following methods
|
|
315
315
|
onclick="toggleCode('M000035-source');return false;">[Source]</a></p>
|
316
316
|
<div class="method-source-code" id="M000035-source">
|
317
317
|
<pre>
|
318
|
-
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line
|
318
|
+
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line 116</span>
|
319
319
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">deliver_username_request!</span>
|
320
320
|
<span class="ruby-constant">MuckUserMailer</span>.<span class="ruby-identifier">deliver_username_request</span>(<span class="ruby-keyword kw">self</span>)
|
321
321
|
<span class="ruby-keyword kw">end</span>
|
@@ -338,7 +338,7 @@ Authlogic automatically executes the following methods
|
|
338
338
|
onclick="toggleCode('M000031-source');return false;">[Source]</a></p>
|
339
339
|
<div class="method-source-code" id="M000031-source">
|
340
340
|
<pre>
|
341
|
-
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line
|
341
|
+
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line 93</span>
|
342
342
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">deliver_welcome_email</span>
|
343
343
|
<span class="ruby-constant">MuckUserMailer</span>.<span class="ruby-identifier">deliver_welcome_notification</span>(<span class="ruby-keyword kw">self</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-constant">GlobalConfig</span>.<span class="ruby-identifier">send_welcome</span>
|
344
344
|
<span class="ruby-keyword kw">end</span>
|
@@ -361,7 +361,7 @@ Authlogic automatically executes the following methods
|
|
361
361
|
onclick="toggleCode('M000045-source');return false;">[Source]</a></p>
|
362
362
|
<div class="method-source-code" id="M000045-source">
|
363
363
|
<pre>
|
364
|
-
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line
|
364
|
+
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line 179</span>
|
365
365
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">display_name</span>
|
366
366
|
<span class="ruby-constant">CGI</span><span class="ruby-operator">::</span><span class="ruby-identifier">escapeHTML</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">login</span>)
|
367
367
|
<span class="ruby-keyword kw">end</span>
|
@@ -384,7 +384,7 @@ Authlogic automatically executes the following methods
|
|
384
384
|
onclick="toggleCode('M000044-source');return false;">[Source]</a></p>
|
385
385
|
<div class="method-source-code" id="M000044-source">
|
386
386
|
<pre>
|
387
|
-
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line
|
387
|
+
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line 171</span>
|
388
388
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">full_name</span>
|
389
389
|
<span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">first_name</span>.<span class="ruby-identifier">blank?</span> <span class="ruby-operator">&&</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">last_name</span>.<span class="ruby-identifier">blank?</span>
|
390
390
|
<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">display_name</span> <span class="ruby-keyword kw">rescue</span> <span class="ruby-value str">'Deleted user'</span>
|
@@ -411,7 +411,7 @@ Authlogic automatically executes the following methods
|
|
411
411
|
onclick="toggleCode('M000037-source');return false;">[Source]</a></p>
|
412
412
|
<div class="method-source-code" id="M000037-source">
|
413
413
|
<pre>
|
414
|
-
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line
|
414
|
+
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line 129</span>
|
415
415
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">has_role?</span>(<span class="ruby-identifier">rolename</span>)
|
416
416
|
<span class="ruby-ivar">@roles</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">roles</span>.<span class="ruby-identifier">map</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">role</span><span class="ruby-operator">|</span> <span class="ruby-identifier">role</span>.<span class="ruby-identifier">rolename</span>}
|
417
417
|
<span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@roles</span>
|
@@ -440,7 +440,7 @@ save without block as usual.
|
|
440
440
|
onclick="toggleCode('M000036-source');return false;">[Source]</a></p>
|
441
441
|
<div class="method-source-code" id="M000036-source">
|
442
442
|
<pre>
|
443
|
-
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line
|
443
|
+
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line 123</span>
|
444
444
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reset_password!</span>(<span class="ruby-identifier">user</span>)
|
445
445
|
<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">password</span> = <span class="ruby-identifier">user</span>[<span class="ruby-identifier">:password</span>]
|
446
446
|
<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">password_confirmation</span> = <span class="ruby-identifier">user</span>[<span class="ruby-identifier">:password_confirmation</span>]
|
@@ -465,7 +465,7 @@ save without block as usual.
|
|
465
465
|
onclick="toggleCode('M000043-source');return false;">[Source]</a></p>
|
466
466
|
<div class="method-source-code" id="M000043-source">
|
467
467
|
<pre>
|
468
|
-
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line
|
468
|
+
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line 167</span>
|
469
469
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">short_name</span>
|
470
470
|
<span class="ruby-constant">CGI</span><span class="ruby-operator">::</span><span class="ruby-identifier">escapeHTML</span>(<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">first_name</span>) <span class="ruby-operator">||</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">display_name</span>
|
471
471
|
<span class="ruby-keyword kw">end</span>
|
@@ -488,7 +488,7 @@ save without block as usual.
|
|
488
488
|
onclick="toggleCode('M000040-source');return false;">[Source]</a></p>
|
489
489
|
<div class="method-source-code" id="M000040-source">
|
490
490
|
<pre>
|
491
|
-
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line
|
491
|
+
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line 144</span>
|
492
492
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_xml</span>(<span class="ruby-identifier">options</span> = {})
|
493
493
|
<span class="ruby-identifier">options</span>[<span class="ruby-identifier">:except</span>] <span class="ruby-operator">||=</span> []
|
494
494
|
<span class="ruby-identifier">options</span>[<span class="ruby-identifier">:except</span>] <span class="ruby-operator"><<</span> <span class="ruby-identifier">:email</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">:crypted_password</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">:salt</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">:remember_token</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">:remember_token_expires_at</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">:activation_code</span>
|
@@ -127,7 +127,7 @@ class methods
|
|
127
127
|
onclick="toggleCode('M000026-source');return false;">[Source]</a></p>
|
128
128
|
<div class="method-source-code" id="M000026-source">
|
129
129
|
<pre>
|
130
|
-
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line
|
130
|
+
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line 52</span>
|
131
131
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">activate_all</span>
|
132
132
|
<span class="ruby-constant">User</span>.<span class="ruby-identifier">update_all</span>(<span class="ruby-node">"activated_at = '#{Time.now}'"</span>, <span class="ruby-value str">'activated_at IS NULL'</span>)
|
133
133
|
<span class="ruby-keyword kw">end</span>
|
@@ -150,7 +150,7 @@ class methods
|
|
150
150
|
onclick="toggleCode('M000024-source');return false;">[Source]</a></p>
|
151
151
|
<div class="method-source-code" id="M000024-source">
|
152
152
|
<pre>
|
153
|
-
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line
|
153
|
+
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line 44</span>
|
154
154
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">do_search</span>( <span class="ruby-identifier">query</span> )
|
155
155
|
<span class="ruby-constant">User</span>.<span class="ruby-identifier">find</span>(<span class="ruby-identifier">:all</span>, <span class="ruby-identifier">:conditions</span> =<span class="ruby-operator">></span> [ <span class="ruby-value str">"email LIKE ? OR first_name LIKE ? OR last_name LIKE ?"</span>, <span class="ruby-value str">'%'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">query</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'%'</span>, <span class="ruby-value str">'%'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">query</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'%'</span>, <span class="ruby-value str">'%'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">query</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'%'</span> ])
|
156
156
|
<span class="ruby-keyword kw">end</span>
|
@@ -176,7 +176,7 @@ checks to see if a given email is already in the database
|
|
176
176
|
onclick="toggleCode('M000029-source');return false;">[Source]</a></p>
|
177
177
|
<div class="method-source-code" id="M000029-source">
|
178
178
|
<pre>
|
179
|
-
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line
|
179
|
+
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line 80</span>
|
180
180
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">email_exists?</span>(<span class="ruby-identifier">email</span>)
|
181
181
|
<span class="ruby-keyword kw">if</span> <span class="ruby-constant">User</span>.<span class="ruby-identifier">find_by_email</span>(<span class="ruby-identifier">email</span>).<span class="ruby-identifier">nil?</span>
|
182
182
|
<span class="ruby-keyword kw">false</span>
|
@@ -214,7 +214,7 @@ Raises:
|
|
214
214
|
onclick="toggleCode('M000027-source');return false;">[Source]</a></p>
|
215
215
|
<div class="method-source-code" id="M000027-source">
|
216
216
|
<pre>
|
217
|
-
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line
|
217
|
+
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line 61</span>
|
218
218
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">find_and_activate!</span>(<span class="ruby-identifier">activation_code</span>)
|
219
219
|
<span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">activation_code</span>.<span class="ruby-identifier">nil?</span>
|
220
220
|
<span class="ruby-identifier">user</span> = <span class="ruby-identifier">find_by_activation_code</span>(<span class="ruby-identifier">activation_code</span>)
|
@@ -242,7 +242,7 @@ Raises:
|
|
242
242
|
onclick="toggleCode('M000025-source');return false;">[Source]</a></p>
|
243
243
|
<div class="method-source-code" id="M000025-source">
|
244
244
|
<pre>
|
245
|
-
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line
|
245
|
+
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line 48</span>
|
246
246
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inactive_count</span>
|
247
247
|
<span class="ruby-constant">User</span>.<span class="ruby-identifier">count</span> <span class="ruby-identifier">:conditions</span> =<span class="ruby-operator">></span> <span class="ruby-value str">"activated_at is null"</span>
|
248
248
|
<span class="ruby-keyword kw">end</span>
|
@@ -268,7 +268,7 @@ checks to see if a given login is already in the database
|
|
268
268
|
onclick="toggleCode('M000028-source');return false;">[Source]</a></p>
|
269
269
|
<div class="method-source-code" id="M000028-source">
|
270
270
|
<pre>
|
271
|
-
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line
|
271
|
+
<span class="ruby-comment cmt"># File lib/active_record/acts/muck_user.rb, line 71</span>
|
272
272
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">login_exists?</span>(<span class="ruby-identifier">login</span>)
|
273
273
|
<span class="ruby-keyword kw">if</span> <span class="ruby-constant">User</span>.<span class="ruby-identifier">find_by_login</span>(<span class="ruby-identifier">login</span>).<span class="ruby-identifier">nil?</span>
|
274
274
|
<span class="ruby-keyword kw">false</span>
|
data/rdoc/created.rid
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
Thu, 18 Jun 2009 11:28:24 -0600
|
@@ -4,11 +4,9 @@ class Admin::Muck::UsersControllerTest < ActionController::TestCase
|
|
4
4
|
|
5
5
|
tests Admin::Muck::UsersController
|
6
6
|
|
7
|
+
should_require_role(:admin, '/login', :index)
|
7
8
|
should_require_login :index => :get, :inactive => :get, :inactive_emails => :get, :activate_all => :get, :search => :get, :login_url => '/login'
|
8
|
-
|
9
|
-
#:enable => :get, :disable => :get, :update => :post
|
10
|
-
#should_require_role(:admin, '/login', :index)
|
11
|
-
|
9
|
+
|
12
10
|
context "logged in as admin" do
|
13
11
|
setup do
|
14
12
|
@admin = Factory(:user)
|
@@ -52,4 +50,4 @@ class Admin::Muck::UsersControllerTest < ActionController::TestCase
|
|
52
50
|
|
53
51
|
end
|
54
52
|
|
55
|
-
end
|
53
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
|
-
|
1
|
+
module MuckControllerMacros
|
2
2
|
|
3
|
-
def
|
3
|
+
def should_require_login(*args)
|
4
4
|
args = Hash[*args]
|
5
5
|
login_url = args.delete :login_url
|
6
6
|
args.each do |action, verb|
|
@@ -11,7 +11,7 @@ ActiveSupport::TestCase.class_eval do
|
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
|
-
def
|
14
|
+
def should_require_role(role, redirect_url, *actions)
|
15
15
|
actions.each do |action|
|
16
16
|
should "require role for '#{action}' action" do
|
17
17
|
get(action)
|
@@ -22,7 +22,7 @@ ActiveSupport::TestCase.class_eval do
|
|
22
22
|
end
|
23
23
|
|
24
24
|
#from: http://blog.internautdesign.com/2008/9/11/more-on-custom-shoulda-macros-scoping-of-instance-variables
|
25
|
-
def
|
25
|
+
def should_not_allow action, object, url= "/login", msg=nil
|
26
26
|
msg ||= "a #{object.class.to_s.downcase}"
|
27
27
|
should "not be able to #{action} #{msg}" do
|
28
28
|
object = eval(object, self.send(:binding), __FILE__, __LINE__)
|
@@ -31,7 +31,7 @@ ActiveSupport::TestCase.class_eval do
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
-
def
|
34
|
+
def should_allow action, object, msg=nil
|
35
35
|
msg ||= "a #{object.class.to_s.downcase}"
|
36
36
|
should "be able to #{action} #{msg}" do
|
37
37
|
object = eval(object, self.send(:binding), __FILE__, __LINE__)
|
@@ -41,3 +41,5 @@ ActiveSupport::TestCase.class_eval do
|
|
41
41
|
end
|
42
42
|
|
43
43
|
end
|
44
|
+
|
45
|
+
ActionController::TestCase.extend(MuckControllerMacros)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
module ShouldaFormMacros
|
2
2
|
def self.should_have_form(opts)
|
3
3
|
model = self.name.gsub(/ControllerTest$/, '').singularize.downcase
|
4
4
|
model = model[model.rindex('::')+2..model.size] if model.include?('::')
|
@@ -26,3 +26,7 @@ class ActiveSupport::TestCase
|
|
26
26
|
end
|
27
27
|
end
|
28
28
|
end
|
29
|
+
|
30
|
+
class ActiveSupport::TestCase
|
31
|
+
extend ShouldaFormMacros
|
32
|
+
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
module ShouldaModelMacros
|
2
2
|
|
3
3
|
def self.should_whitelist(*attributes)
|
4
4
|
bad_scripts = [
|
@@ -31,4 +31,20 @@ ActiveSupport::TestCase.class_eval do
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
+
def should_accept_nested_attributes_for(*attr_names)
|
35
|
+
klass = self.name.gsub(/Test$/, '').constantize
|
36
|
+
|
37
|
+
context "#{klass}" do
|
38
|
+
attr_names.each do |association_name|
|
39
|
+
should "accept nested attrs for #{association_name}" do
|
40
|
+
assert klass.instance_methods.include?("#{association_name}_attributes="),
|
41
|
+
"#{klass} does not accept nested attributes for #{association_name}"
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
class ActiveSupport::TestCase
|
49
|
+
extend ShouldaModelMacros
|
34
50
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
module ShouldaPaginationMacros
|
2
2
|
# Example:
|
3
3
|
# context "a GET to index logged in as admin" do
|
4
4
|
# setup do
|
@@ -46,3 +46,8 @@ class ActiveSupport::TestCase
|
|
46
46
|
end
|
47
47
|
end
|
48
48
|
end
|
49
|
+
|
50
|
+
|
51
|
+
class ActiveSupport::TestCase
|
52
|
+
extend ShouldaPaginationMacros
|
53
|
+
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
module ShouldaPluginMacros
|
2
2
|
|
3
3
|
def self.should_act_as_taggable_on_steroids
|
4
4
|
klass = self.name.gsub(/Test$/, '').constantize
|
@@ -27,4 +27,8 @@ class ActiveSupport::TestCase
|
|
27
27
|
should_have_instance_methods :acts_as_list_class, :position_column, :scope_condition
|
28
28
|
end
|
29
29
|
|
30
|
-
end
|
30
|
+
end
|
31
|
+
|
32
|
+
ActiveSupport::TestCase.extend(ShouldaPluginMacros)
|
33
|
+
Test::Unit::TestCase.extend(ShouldaPluginMacros)
|
34
|
+
ActionController::TestCase.extend(ShouldaPluginMacros)
|
@@ -9,6 +9,7 @@ require 'authlogic/test_case'
|
|
9
9
|
require 'redgreen' rescue LoadError
|
10
10
|
require File.expand_path(File.dirname(__FILE__) + '/factories')
|
11
11
|
require File.join(File.dirname(__FILE__), 'shoulda_macros', 'controller')
|
12
|
+
require File.join(File.dirname(__FILE__), 'shoulda_macros', 'models')
|
12
13
|
|
13
14
|
class ActiveSupport::TestCase
|
14
15
|
self.use_transactional_fixtures = true
|
@@ -0,0 +1,139 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../test_helper'
|
2
|
+
|
3
|
+
class UserTest < ActiveSupport::TestCase
|
4
|
+
|
5
|
+
context 'A user instance' do
|
6
|
+
should_have_many :permissions
|
7
|
+
should_have_many :roles
|
8
|
+
|
9
|
+
should_have_named_scope :by_newest
|
10
|
+
should_have_named_scope :active
|
11
|
+
should_have_named_scope :inactive
|
12
|
+
should_have_named_scope :recent
|
13
|
+
|
14
|
+
should_ensure_length_in_range :email, 6..100 #, :short_message => 'does not look like a valid email address.', :long_message => 'does not look like a valid email address.'
|
15
|
+
should_allow_values_for :email, 'a@x.com', 'de.veloper@example.com'
|
16
|
+
should_not_allow_values_for :email, 'example.com', '@example.com', 'developer@example', 'developer', :message => 'does not look like a valid email address.'
|
17
|
+
|
18
|
+
should_not_allow_values_for :login, 'test guy', 'test.guy', 'testguy!', 'test@guy.com', :message => 'may only contain letters, numbers or a hyphen.'
|
19
|
+
should_allow_values_for :login, 'testguy', 'test-guy'
|
20
|
+
|
21
|
+
|
22
|
+
should_protect_attributes :crypted_password, :password_salt, :persistence_token, :single_access_token, :perishable_token, :login_count,
|
23
|
+
:failed_login_count, :last_request_at, :last_login_at, :current_login_at, :current_login_ip, :last_login_ip,
|
24
|
+
:terms_of_service, :time_zone, :disabled_at, :activated_at, :created_at, :updated_at
|
25
|
+
end
|
26
|
+
|
27
|
+
context "search" do
|
28
|
+
setup do
|
29
|
+
@user = Factory(:user, :first_name => 'john', :last_name => 'smith', :email => 'john.smith@example.com')
|
30
|
+
end
|
31
|
+
should "find john" do
|
32
|
+
assert User.do_search(:first_name => 'john').include?(@user)
|
33
|
+
end
|
34
|
+
should "find smith" do
|
35
|
+
assert User.do_search(:first_name => 'john').include?(@user)
|
36
|
+
end
|
37
|
+
should "find john.smith@example.com" do
|
38
|
+
assert User.do_search(:email => 'john.smith@example.com').include?(@user)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
context "a user" do
|
43
|
+
should "have full name" do
|
44
|
+
assert_difference 'User.count' do
|
45
|
+
user = Factory(:user, :first_name => 'quent', :last_name => 'smith')
|
46
|
+
assert !user.new_record?, "#{user.errors.full_messages.to_sentence}"
|
47
|
+
assert user.full_name == 'quent smith'
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
should "Create a new user and lowercase the login" do
|
52
|
+
assert_difference 'User.count' do
|
53
|
+
user = Factory(:user, :login => 'TESTGUY')
|
54
|
+
assert !user.new_record?, "#{user.errors.full_messages.to_sentence}"
|
55
|
+
assert user.login == 'testguy'
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
should "Not allow login with dot" do
|
60
|
+
user = Factory.build(:user, :login => 'test.guy')
|
61
|
+
assert !user.valid?
|
62
|
+
end
|
63
|
+
|
64
|
+
should "Not allow login with dots" do
|
65
|
+
user = Factory.build(:user, :login => 'test.guy.guy')
|
66
|
+
assert !user.valid?
|
67
|
+
end
|
68
|
+
|
69
|
+
should "Allow login with dash" do
|
70
|
+
user = Factory.build(:user, :login => 'test-guy')
|
71
|
+
assert user.valid?
|
72
|
+
end
|
73
|
+
|
74
|
+
should "Not allow login with '@'" do
|
75
|
+
user = Factory.build(:user, :login => 'testguy@example.com')
|
76
|
+
assert !user.valid?
|
77
|
+
end
|
78
|
+
|
79
|
+
should "Not allow login with '!'" do
|
80
|
+
user = Factory.build(:user, :login => 'testguy!')
|
81
|
+
assert !user.valid?
|
82
|
+
end
|
83
|
+
|
84
|
+
should "require login" do
|
85
|
+
assert_no_difference 'User.count' do
|
86
|
+
u = Factory.build(:user, :login => nil)
|
87
|
+
assert !u.valid?
|
88
|
+
assert u.errors.on(:login)
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
should "require password" do
|
93
|
+
assert_no_difference 'User.count' do
|
94
|
+
u = Factory.build(:user, :password => nil)
|
95
|
+
assert !u.valid?
|
96
|
+
assert u.errors.on(:password)
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
should "require password confirmation" do
|
101
|
+
assert_no_difference 'User.count' do
|
102
|
+
u = Factory.build(:user, :password_confirmation => nil)
|
103
|
+
assert !u.valid?
|
104
|
+
assert u.errors.on(:password_confirmation)
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
should "require require email" do
|
109
|
+
assert_no_difference 'User.count' do
|
110
|
+
u = Factory.build(:user, :email => nil)
|
111
|
+
assert !u.valid?
|
112
|
+
assert u.errors.on(:email)
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
end
|
117
|
+
|
118
|
+
context "inactive users" do
|
119
|
+
setup do
|
120
|
+
@user = Factory(:user, :activated_at => nil)
|
121
|
+
end
|
122
|
+
should "have at least one inactive user" do
|
123
|
+
assert User.inactive_count > 0
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
context "user exists" do
|
128
|
+
setup do
|
129
|
+
@user = Factory(:user, :login => 'atestguytoo', :email => 'atestguytoo@example.com')
|
130
|
+
end
|
131
|
+
should "find user with login" do
|
132
|
+
assert User.login_exists?('atestguytoo')
|
133
|
+
end
|
134
|
+
should "find user with email" do
|
135
|
+
assert User.email_exists?('atestguytoo@example.com')
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: muck-users
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin Ball
|
@@ -22,6 +22,16 @@ dependencies:
|
|
22
22
|
- !ruby/object:Gem::Version
|
23
23
|
version: "0"
|
24
24
|
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: binarylogic-searchlogic
|
27
|
+
type: :runtime
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: "0"
|
34
|
+
version:
|
25
35
|
- !ruby/object:Gem::Dependency
|
26
36
|
name: bcrypt-ruby
|
27
37
|
type: :runtime
|
@@ -140,7 +150,9 @@ files:
|
|
140
150
|
- locales/zh-CN.yml
|
141
151
|
- locales/zh-TW.yml
|
142
152
|
- locales/zh.yml
|
153
|
+
- muck-users-0.1.4.gem
|
143
154
|
- muck-users.gemspec
|
155
|
+
- pkg/muck-users-0.1.6.gem
|
144
156
|
- public/images/profile_default.jpg
|
145
157
|
- rails/init.rb
|
146
158
|
- rdoc/classes/ActionController.html
|
@@ -378,6 +390,7 @@ files:
|
|
378
390
|
- test/rails_root/test/unit/muck_user_mailer_test.rb
|
379
391
|
- test/rails_root/test/unit/permission_test.rb
|
380
392
|
- test/rails_root/test/unit/role_test.rb
|
393
|
+
- test/rails_root/test/unit/user_test.rb
|
381
394
|
- test/rails_root/vendor/plugins/ssl_requirement/README
|
382
395
|
- test/rails_root/vendor/plugins/ssl_requirement/lib/ssl_requirement.rb
|
383
396
|
- test/rails_root/vendor/plugins/ssl_requirement/test/ssl_requirement_test.rb
|
@@ -447,5 +460,6 @@ test_files:
|
|
447
460
|
- test/rails_root/test/unit/muck_user_mailer_test.rb
|
448
461
|
- test/rails_root/test/unit/permission_test.rb
|
449
462
|
- test/rails_root/test/unit/role_test.rb
|
463
|
+
- test/rails_root/test/unit/user_test.rb
|
450
464
|
- test/rails_root/vendor/plugins/ssl_requirement/lib/ssl_requirement.rb
|
451
465
|
- test/rails_root/vendor/plugins/ssl_requirement/test/ssl_requirement_test.rb
|