muck-users 0.1.12 → 0.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. data/.gitignore +7 -1
  2. data/Rakefile +8 -13
  3. data/VERSION +1 -1
  4. data/app/controllers/admin/muck/users_controller.rb +1 -1
  5. data/app/models/user_mailer.rb +1 -1
  6. data/lib/active_record/acts/muck_user.rb +17 -20
  7. data/lib/active_record/secure_methods.rb +1 -1
  8. data/lib/muck_users/tasks.rb +2 -2
  9. data/locales/ar.yml +1 -1
  10. data/locales/bg.yml +2 -2
  11. data/locales/ca.yml +2 -2
  12. data/locales/cs.yml +1 -1
  13. data/locales/da.yml +1 -1
  14. data/locales/de.yml +2 -2
  15. data/locales/el.yml +4 -4
  16. data/locales/en.yml +5 -5
  17. data/locales/es.yml +1 -1
  18. data/locales/et.yml +126 -0
  19. data/locales/fa.yml +126 -0
  20. data/locales/fi.yml +126 -0
  21. data/locales/fr.yml +1 -1
  22. data/locales/gl.yml +126 -0
  23. data/locales/hi.yml +126 -0
  24. data/locales/hr.yml +126 -0
  25. data/locales/hu.yml +126 -0
  26. data/locales/id.yml +126 -0
  27. data/locales/it.yml +1 -1
  28. data/locales/iw.yml +1 -1
  29. data/locales/ja.yml +2 -2
  30. data/locales/ko.yml +1 -1
  31. data/locales/lt.yml +2 -2
  32. data/locales/lv.yml +2 -2
  33. data/locales/mt.yml +126 -0
  34. data/locales/nl.yml +2 -2
  35. data/locales/no.yml +2 -2
  36. data/locales/pl.yml +1 -1
  37. data/locales/pt-PT.yml +126 -0
  38. data/locales/ro.yml +1 -1
  39. data/locales/ru.yml +3 -3
  40. data/locales/sk.yml +1 -1
  41. data/locales/sl.yml +3 -3
  42. data/locales/sq.yml +126 -0
  43. data/locales/sr.yml +2 -2
  44. data/locales/sv.yml +1 -1
  45. data/locales/th.yml +126 -0
  46. data/locales/tl.yml +1 -1
  47. data/locales/tr.yml +126 -0
  48. data/locales/uk.yml +2 -2
  49. data/locales/vi.yml +1 -1
  50. data/locales/zh-CN.yml +1 -1
  51. data/locales/zh-TW.yml +1 -1
  52. data/locales/zh.yml +1 -1
  53. data/muck-users.gemspec +18 -32
  54. data/test/rails_root/config/global_config.yml +49 -2
  55. data/test/rails_root/test/functional/password_resets_controller_test.rb +13 -1
  56. data/test/rails_root/test/unit/role_test.rb +1 -1
  57. data/test/rails_root/test/unit/user_mailer_test.rb +6 -6
  58. data/test/rails_root/test/unit/user_test.rb +79 -1
  59. metadata +25 -32
  60. data/muck-users-0.1.4.gem +0 -0
  61. data/pkg/muck-users-0.1.11.gem +0 -0
  62. data/rdoc/classes/ActionController.html +0 -112
  63. data/rdoc/classes/ActionController/AuthenticApplication.html +0 -161
  64. data/rdoc/classes/ActionController/AuthenticApplication/InstanceMethods.html +0 -741
  65. data/rdoc/classes/ActionController/Routing.html +0 -107
  66. data/rdoc/classes/ActionController/Routing/RouteSet.html +0 -148
  67. data/rdoc/classes/ActiveRecord.html +0 -115
  68. data/rdoc/classes/ActiveRecord/Acts/MuckUser/ClassMethods.html +0 -167
  69. data/rdoc/classes/ActiveRecord/Acts/MuckUser/InstanceMethods.html +0 -537
  70. data/rdoc/classes/ActiveRecord/Acts/MuckUser/SingletonMethods.html +0 -296
  71. data/rdoc/classes/ActiveRecord/SecureMethods.html +0 -216
  72. data/rdoc/classes/MuckUsers.html +0 -116
  73. data/rdoc/classes/MuckUsers/Exceptions.html +0 -111
  74. data/rdoc/classes/MuckUsers/Exceptions/InvalidPasswordResetCode.html +0 -111
  75. data/rdoc/classes/MuckUsers/Tasks.html +0 -146
  76. data/rdoc/created.rid +0 -1
  77. data/rdoc/files/README_rdoc.html +0 -211
  78. data/rdoc/files/lib/action_controller/authentic_application_rb.html +0 -101
  79. data/rdoc/files/lib/active_record/acts/muck_user_rb.html +0 -101
  80. data/rdoc/files/lib/active_record/secure_methods_rb.html +0 -101
  81. data/rdoc/files/lib/muck_users/exceptions_rb.html +0 -101
  82. data/rdoc/files/lib/muck_users/initialize_routes_rb.html +0 -101
  83. data/rdoc/files/lib/muck_users/tasks_rb.html +0 -110
  84. data/rdoc/files/lib/muck_users_rb.html +0 -117
  85. data/rdoc/fr_class_index.html +0 -40
  86. data/rdoc/fr_file_index.html +0 -34
  87. data/rdoc/fr_method_index.html +0 -77
  88. data/rdoc/index.html +0 -24
  89. data/rdoc/rdoc-style.css +0 -208
@@ -4,9 +4,56 @@ default: &DEFAULT
4
4
 
5
5
  application_url: localhost:3000
6
6
 
7
+ # Sent in emails to users
8
+ application_name: 'example'
9
+ from_email: 'support@example.com' # Emails will come from this address
10
+ from_email_name: 'example' # This will show up as the name on emails. i.e. support@example.com <Example>
11
+ support_email: 'support@example.com'
12
+ admin_email: 'admin@example.com'
13
+ customer_service_number: '1-800-'
14
+
15
+ # Email charset
16
+ mail_charset: 'utf-8'
17
+
18
+ # Email server configuration
19
+ email_user_name: 'system@example.com'
20
+ email_password: 'test'
21
+ base_domain: 'example.com'
22
+
23
+ # sign up options
24
+ automatically_activate: true
25
+ automatically_login_after_account_create: true
26
+ send_welcome: true
27
+
28
+ application_url: localhost:3000
29
+
30
+ # if you use recaptcha you will need to also provide a public and private
31
+ # key available from http://recaptcha.net.
32
+ use_recaptcha: false
33
+ recaptcha_pub_key: GET_A_RECAPTCHA_KEY(TODO)
34
+ recaptcha_priv_key: GET_A_RECAPTCHA_KEY(TODO)
35
+
36
+ # jgrowl related settings
37
+ growl_enabled: false
38
+
39
+ # application configuration
40
+ let_users_delete_their_account: false # turn on/off ability for users to delete their own account
41
+
42
+ # activity configuration
43
+ enable_live_activity_updates: true # Turns on polling inside the user's activity feed so they constantly get updates from the site
44
+ live_activity_update_interval: 60 # time between updates to live activity feed in seconds
45
+ enable_activity_comments: true # Turn on comments in the activity feed
46
+
47
+ # Friend configuration
48
+ allow_following: true
49
+ enable_friend_activity: false
50
+
51
+ # ssl
52
+ enable_ssl: false
53
+
7
54
  # session key information
8
- session_key: _uploader_session
9
- session_secret: ea55c4d5e105735fdfb1caec46711b3dd14ec976d0ba95b4c0f575cb046cc358bce7a335ee36eb29253fb680ef8b838d871f6baeff48220fee8e9e42ab84774b
55
+ session_key: _test_session
56
+ session_secret: 882585c5d472d21e832965410ab233be541ea626e50ed0eb68a00a2f49b59073480e58599404e3dc62105a803ee42d67872e3f95eb48e2d6508b42038436abd6
10
57
 
11
58
  production:
12
59
  <<: *DEFAULT
@@ -4,7 +4,7 @@ class Muck::PasswordResetsControllerTest < ActionController::TestCase
4
4
 
5
5
  tests Muck::PasswordResetsController
6
6
 
7
- context "user sessions controller" do
7
+ context "password reset controller" do
8
8
  setup do
9
9
  @user = Factory(:user)
10
10
  end
@@ -33,6 +33,18 @@ class Muck::PasswordResetsControllerTest < ActionController::TestCase
33
33
  should_respond_with :success
34
34
  should_render_template :new
35
35
  end
36
+ context "inactive user - send password not active instructions" do
37
+ setup do
38
+ @inactive_user = Factory(:user, :activated_at => nil)
39
+ post :create, :reset_password => { :email => @inactive_user.email }
40
+ end
41
+ should "send password not active instructions" do
42
+ assert_sent_email do |email|
43
+ email.to.include?(@inactive_user.email)
44
+ end
45
+ end
46
+ should_redirect_to("login") { login_path }
47
+ end
36
48
  context "get edit" do
37
49
  setup do
38
50
  get :edit, :id => @user.perishable_token
@@ -13,5 +13,5 @@ class RoleTest < ActiveSupport::TestCase
13
13
  end
14
14
  end
15
15
  end
16
-
16
+
17
17
  end
@@ -20,7 +20,7 @@ class UserMailerTest < ActiveSupport::TestCase
20
20
  assert_match "#{user.login}", response.body, "User login was not found in the email"
21
21
  email = ActionMailer::Base.deliveries.last
22
22
  assert_equal email.to, [user.email]
23
- assert_equal email.from, GlobalConfig.from_email
23
+ assert_equal email.from, [GlobalConfig.from_email]
24
24
  end
25
25
 
26
26
  should "send activation instructions email" do
@@ -30,7 +30,7 @@ class UserMailerTest < ActiveSupport::TestCase
30
30
  assert_match "#{user.login}", response.body, "User login was not found in the email"
31
31
  email = ActionMailer::Base.deliveries.last
32
32
  assert_equal email.to, [user.email]
33
- assert_equal email.from, GlobalConfig.from_email
33
+ assert_equal email.from, [GlobalConfig.from_email]
34
34
  end
35
35
 
36
36
  should "send password reset account not active instructions email" do
@@ -39,7 +39,7 @@ class UserMailerTest < ActiveSupport::TestCase
39
39
  assert !ActionMailer::Base.deliveries.empty?, "No email was sent"
40
40
  email = ActionMailer::Base.deliveries.last
41
41
  assert_equal email.to, [user.email]
42
- assert_equal email.from, GlobalConfig.from_email
42
+ assert_equal email.from, [GlobalConfig.from_email]
43
43
  end
44
44
 
45
45
  should "send password reset instructions email" do
@@ -48,7 +48,7 @@ class UserMailerTest < ActiveSupport::TestCase
48
48
  assert !ActionMailer::Base.deliveries.empty?, "No email was sent"
49
49
  email = ActionMailer::Base.deliveries.last
50
50
  assert_equal email.to, [user.email]
51
- assert_equal email.from, GlobalConfig.from_email
51
+ assert_equal email.from, [GlobalConfig.from_email]
52
52
  end
53
53
 
54
54
  should "send username request email" do
@@ -57,7 +57,7 @@ class UserMailerTest < ActiveSupport::TestCase
57
57
  assert !ActionMailer::Base.deliveries.empty?, "No email was sent"
58
58
  email = ActionMailer::Base.deliveries.last
59
59
  assert_equal email.to, [user.email]
60
- assert_equal email.from, GlobalConfig.from_email
60
+ assert_equal email.from, [GlobalConfig.from_email]
61
61
  end
62
62
 
63
63
  should "send welcome email" do
@@ -66,7 +66,7 @@ class UserMailerTest < ActiveSupport::TestCase
66
66
  assert !ActionMailer::Base.deliveries.empty?, "No email was sent"
67
67
  email = ActionMailer::Base.deliveries.last
68
68
  assert_equal email.to, [user.email]
69
- assert_equal email.from, GlobalConfig.from_email
69
+ assert_equal email.from, [GlobalConfig.from_email]
70
70
  end
71
71
 
72
72
  end
@@ -122,6 +122,17 @@ class UserTest < ActiveSupport::TestCase
122
122
  should "have at least one inactive user" do
123
123
  assert User.inactive_count > 0
124
124
  end
125
+ should "be able to activate all users" do
126
+ assert User.activate_all
127
+ assert User.inactive_count == 0
128
+ end
129
+ end
130
+
131
+ context "find and activate an inactive user" do
132
+ setup do
133
+ @user_inactive = Factory(:user, :activated_at => nil )
134
+ @user_active = Factory(:user )
135
+ end
125
136
  end
126
137
 
127
138
  context "user exists" do
@@ -135,5 +146,72 @@ class UserTest < ActiveSupport::TestCase
135
146
  assert User.email_exists?('atestguytoo@example.com')
136
147
  end
137
148
  end
149
+
150
+ context "user does not exist" do
151
+ setup do
152
+ @user = Factory(:user, :login => 'atestguytoo', :email => 'atestguytoo@example.com')
153
+ end
154
+ should "NOT find user with login" do
155
+ assert_equal false, User.login_exists?('nonexistentuser')
156
+ end
157
+ should "NOT find user with email" do
158
+ assert_equal false, User.email_exists?('nonexistentuser@example.com')
159
+ end
160
+ end
138
161
 
139
- end
162
+ context "check user roles" do
163
+ setup do
164
+ @user = Factory(:user)
165
+ end
166
+ should "be in admin role" do
167
+ @user.add_to_role('administrator')
168
+ @user.reload
169
+ assert @user.admin?
170
+ end
171
+ should "add the user to the specified role" do
172
+ @user.add_to_role('bla')
173
+ @user.reload
174
+ assert @user.has_role?('bla')
175
+ end
176
+ should "find the user in any role" do
177
+ @user.add_to_role('bla')
178
+ @user.add_to_role('foo')
179
+ @user.add_to_role('bar')
180
+ @user.reload
181
+ assert @user.any_role?('bla', 'foo')
182
+ assert @user.any_role?('bar')
183
+ assert !@user.any_role?('alb')
184
+ end
185
+ should "only add the user to the given role once" do
186
+ @user.roles.delete_all
187
+ @user.add_to_role('bla')
188
+ @user.add_to_role('bla')
189
+ @user.reload
190
+ assert_equal 1, @user.roles.count
191
+ end
192
+ end
193
+
194
+ context "user can edit" do
195
+ setup do
196
+ @user = Factory(:user)
197
+ @anotheruser = Factory(:user)
198
+ end
199
+ should "be false if user is nil" do
200
+ assert_equal false, @user.can_edit?(nil)
201
+ end
202
+ should "be false if user is not self or an admin" do
203
+ assert_equal false, @user.can_edit?( @anotheruser )
204
+ assert_equal false, @anotheruser.admin?
205
+ assert_equal false, @user.can_edit?( @anotheruser )
206
+ end
207
+ should "be true if user is self" do
208
+ assert @user.can_edit?( @user )
209
+ end
210
+ should "be true if user is an admin" do
211
+ @anotheruser.add_to_role('administrator')
212
+ @anotheruser.reload
213
+ assert @user.can_edit?( @anotheruser )
214
+ end
215
+ end
216
+
217
+ 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.12
4
+ version: 0.1.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Ball
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-06-29 00:00:00 -06:00
12
+ date: 2009-07-07 00:00:00 -06:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -52,6 +52,16 @@ dependencies:
52
52
  - !ruby/object:Gem::Version
53
53
  version: "0"
54
54
  version:
55
+ - !ruby/object:Gem::Dependency
56
+ name: friendly_id
57
+ type: :runtime
58
+ version_requirement:
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: "0"
64
+ version:
55
65
  description: Easily add user signup, login and other features to your application
56
66
  email: justinball@gmail.com
57
67
  executables: []
@@ -138,62 +148,45 @@ files:
138
148
  - locales/el.yml
139
149
  - locales/en.yml
140
150
  - locales/es.yml
151
+ - locales/et.yml
152
+ - locales/fa.yml
153
+ - locales/fi.yml
141
154
  - locales/fr.yml
155
+ - locales/gl.yml
156
+ - locales/hi.yml
157
+ - locales/hr.yml
158
+ - locales/hu.yml
159
+ - locales/id.yml
142
160
  - locales/it.yml
143
161
  - locales/iw.yml
144
162
  - locales/ja.yml
145
163
  - locales/ko.yml
146
164
  - locales/lt.yml
147
165
  - locales/lv.yml
166
+ - locales/mt.yml
148
167
  - locales/nl.yml
149
168
  - locales/no.yml
150
169
  - locales/pl.yml
170
+ - locales/pt-PT.yml
151
171
  - locales/pt.yml
152
172
  - locales/ro.yml
153
173
  - locales/ru.yml
154
174
  - locales/sk.yml
155
175
  - locales/sl.yml
176
+ - locales/sq.yml
156
177
  - locales/sr.yml
157
178
  - locales/sv.yml
179
+ - locales/th.yml
158
180
  - locales/tl.yml
181
+ - locales/tr.yml
159
182
  - locales/uk.yml
160
183
  - locales/vi.yml
161
184
  - locales/zh-CN.yml
162
185
  - locales/zh-TW.yml
163
186
  - locales/zh.yml
164
- - muck-users-0.1.4.gem
165
187
  - muck-users.gemspec
166
- - pkg/muck-users-0.1.11.gem
167
188
  - public/images/profile_default.jpg
168
189
  - rails/init.rb
169
- - rdoc/classes/ActionController.html
170
- - rdoc/classes/ActionController/AuthenticApplication.html
171
- - rdoc/classes/ActionController/AuthenticApplication/InstanceMethods.html
172
- - rdoc/classes/ActionController/Routing.html
173
- - rdoc/classes/ActionController/Routing/RouteSet.html
174
- - rdoc/classes/ActiveRecord.html
175
- - rdoc/classes/ActiveRecord/Acts/MuckUser/ClassMethods.html
176
- - rdoc/classes/ActiveRecord/Acts/MuckUser/InstanceMethods.html
177
- - rdoc/classes/ActiveRecord/Acts/MuckUser/SingletonMethods.html
178
- - rdoc/classes/ActiveRecord/SecureMethods.html
179
- - rdoc/classes/MuckUsers.html
180
- - rdoc/classes/MuckUsers/Exceptions.html
181
- - rdoc/classes/MuckUsers/Exceptions/InvalidPasswordResetCode.html
182
- - rdoc/classes/MuckUsers/Tasks.html
183
- - rdoc/created.rid
184
- - rdoc/files/README_rdoc.html
185
- - rdoc/files/lib/action_controller/authentic_application_rb.html
186
- - rdoc/files/lib/active_record/acts/muck_user_rb.html
187
- - rdoc/files/lib/active_record/secure_methods_rb.html
188
- - rdoc/files/lib/muck_users/exceptions_rb.html
189
- - rdoc/files/lib/muck_users/initialize_routes_rb.html
190
- - rdoc/files/lib/muck_users/tasks_rb.html
191
- - rdoc/files/lib/muck_users_rb.html
192
- - rdoc/fr_class_index.html
193
- - rdoc/fr_file_index.html
194
- - rdoc/fr_method_index.html
195
- - rdoc/index.html
196
- - rdoc/rdoc-style.css
197
190
  - tasks/rails.rake
198
191
  - test/rails_root/.gitignore
199
192
  - test/rails_root/.rake_tasks
Binary file
Binary file
@@ -1,112 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Module: ActionController</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Module</strong></td>
53
- <td class="class-name-in-header">ActionController</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../files/lib/action_controller/authentic_application_rb.html">
59
- lib/action_controller/authentic_application.rb
60
- </a>
61
- <br />
62
- </td>
63
- </tr>
64
-
65
- </table>
66
- </div>
67
- <!-- banner header -->
68
-
69
- <div id="bodyContent">
70
-
71
-
72
-
73
- <div id="contextContent">
74
-
75
-
76
-
77
- </div>
78
-
79
-
80
- </div>
81
-
82
-
83
- <!-- if includes -->
84
-
85
- <div id="section">
86
-
87
- <div id="class-list">
88
- <h3 class="section-bar">Classes and Modules</h3>
89
-
90
- Module <a href="ActionController/AuthenticApplication.html" class="link">ActionController::AuthenticApplication</a><br />
91
- Module <a href="ActionController/Routing.html" class="link">ActionController::Routing</a><br />
92
-
93
- </div>
94
-
95
-
96
-
97
-
98
-
99
-
100
-
101
- <!-- if method_list -->
102
-
103
-
104
- </div>
105
-
106
-
107
- <div id="validator-badges">
108
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
109
- </div>
110
-
111
- </body>
112
- </html>