devise_invitable 0.3.0 → 0.3.1

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 (51) hide show
  1. data/Gemfile +3 -0
  2. data/Gemfile.lock +108 -0
  3. data/README.rdoc +13 -1
  4. data/Rakefile +4 -3
  5. data/VERSION +1 -1
  6. data/app/controllers/{invitations_controller.rb → devise/invitations_controller.rb} +1 -1
  7. data/app/views/devise/invitations/edit.html.erb +14 -0
  8. data/app/views/devise/invitations/new.html.erb +12 -0
  9. data/app/views/{devise_mailer → devise/mailer}/invitation.html.erb +0 -0
  10. data/{lib/devise_invitable → config}/locales/en.yml +3 -0
  11. data/devise_invitable.gemspec +48 -35
  12. data/lib/devise_invitable.rb +4 -1
  13. data/lib/devise_invitable/controllers/helpers.rb +3 -2
  14. data/lib/devise_invitable/controllers/url_helpers.rb +21 -17
  15. data/lib/devise_invitable/mailer.rb +5 -7
  16. data/lib/devise_invitable/model.rb +5 -4
  17. data/lib/devise_invitable/rails.rb +13 -2
  18. data/lib/devise_invitable/routes.rb +6 -25
  19. data/lib/devise_invitable/schema.rb +2 -2
  20. data/test/integration/invitable_test.rb +31 -44
  21. data/test/integration_tests_helper.rb +22 -3
  22. data/test/mailers/invitation_test.rb +4 -4
  23. data/test/model_tests_helper.rb +1 -1
  24. data/test/models/invitable_test.rb +6 -6
  25. data/test/models_test.rb +1 -5
  26. data/test/rails_app/app/controllers/application_controller.rb +1 -8
  27. data/test/rails_app/app/helpers/application_helper.rb +0 -1
  28. data/test/rails_app/app/models/user.rb +1 -1
  29. data/test/rails_app/app/views/layouts/application.html.erb +15 -0
  30. data/test/rails_app/config.ru +4 -0
  31. data/test/rails_app/config/application.rb +45 -0
  32. data/test/rails_app/config/boot.rb +13 -110
  33. data/test/rails_app/config/environment.rb +4 -43
  34. data/test/rails_app/config/environments/development.rb +22 -13
  35. data/test/rails_app/config/environments/production.rb +41 -20
  36. data/test/rails_app/config/environments/test.rb +35 -28
  37. data/test/rails_app/config/initializers/backtrace_silencers.rb +1 -1
  38. data/test/rails_app/config/initializers/devise.rb +82 -45
  39. data/test/rails_app/config/initializers/inflections.rb +10 -2
  40. data/test/rails_app/config/initializers/mime_types.rb +5 -0
  41. data/test/rails_app/config/initializers/secret_token.rb +7 -0
  42. data/test/rails_app/config/initializers/session_store.rb +2 -9
  43. data/test/rails_app/config/locales/en.yml +5 -0
  44. data/test/rails_app/config/routes.rb +3 -2
  45. data/test/routes_test.rb +4 -4
  46. data/test/test_helper.rb +7 -36
  47. metadata +85 -33
  48. data/app/views/invitations/edit.html.erb +0 -14
  49. data/app/views/invitations/new.html.erb +0 -12
  50. data/test/rails_app/config/initializers/new_rails_defaults.rb +0 -21
  51. data/test/rails_app/vendor/plugins/devise_invitable/init.rb +0 -1
@@ -1,2 +1,10 @@
1
- ActiveSupport::Inflector.inflections do |inflect|
2
- end
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Add new inflection rules using the following format
4
+ # (all these examples are active by default):
5
+ # ActiveSupport::Inflector.inflections do |inflect|
6
+ # inflect.plural /^(ox)$/i, '\1en'
7
+ # inflect.singular /^(ox)en/i, '\1'
8
+ # inflect.irregular 'person', 'people'
9
+ # inflect.uncountable %w( fish sheep )
10
+ # end
@@ -0,0 +1,5 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Add new mime types for use in respond_to blocks:
4
+ # Mime::Type.register "text/richtext", :rtf
5
+ # Mime::Type.register_alias "text/html", :iphone
@@ -0,0 +1,7 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Your secret key for verifying the integrity of signed cookies.
4
+ # If you change this key, all old signed cookies will become invalid!
5
+ # Make sure the secret is at least 30 characters and all random,
6
+ # no regular words or you'll be exposed to dictionary attacks.
7
+ RailsApp::Application.config.secret_token = 'e997edf9d7eba5cf89a76a046fa53f5d66261d22cfcf29e3f538c75ad2d175b106bd5d099f44f6ce34ad3b3162d71cfaa37d2d4f4b38645288331427b4c2a607'
@@ -1,15 +1,8 @@
1
1
  # Be sure to restart your server when you modify this file.
2
2
 
3
- # Your secret key for verifying cookie session data integrity.
4
- # If you change this key, all old sessions will become invalid!
5
- # Make sure the secret is at least 30 characters and all random,
6
- # no regular words or you'll be exposed to dictionary attacks.
7
- ActionController::Base.session = {
8
- :key => '_rails_app_session',
9
- :secret => '89e8147901a0d7c221ac130e0ded3eeab6dab4a97127255909f08fedaae371918b41dec9d4d75c5b27a55c3772d43c2b6a3cbac232c5cc2ce4b8ec22242f5e60'
10
- }
3
+ RailsApp::Application.config.session_store :cookie_store, :key => '_test_app_session'
11
4
 
12
5
  # Use the database for sessions instead of the cookie-based default,
13
6
  # which shouldn't be used to store highly confidential information
14
7
  # (create the session table with "rake db:sessions:create")
15
- # ActionController::Base.session_store = :active_record_store
8
+ # RailsApp::Application.config.session_store :active_record_store
@@ -0,0 +1,5 @@
1
+ # Sample localization file for English. Add more files in this directory for other locales.
2
+ # See http://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
3
+
4
+ en:
5
+ hello: "Hello world"
@@ -1,3 +1,4 @@
1
- ActionController::Routing::Routes.draw do |map|
2
- map.root :controller => :home
1
+ RailsApp::Application.routes.draw do
2
+ devise_for :users
3
+ root :to => 'home#index'
3
4
  end
data/test/routes_test.rb CHANGED
@@ -3,18 +3,18 @@ require 'test/test_helper'
3
3
  class MapRoutingTest < ActionController::TestCase
4
4
 
5
5
  test 'map new user invitation' do
6
- assert_recognizes({:controller => 'invitations', :action => 'new'}, {:path => 'users/invitation/new', :method => :get})
6
+ assert_recognizes({:controller => 'devise/invitations', :action => 'new'}, {:path => 'users/invitation/new', :method => :get})
7
7
  end
8
8
 
9
9
  test 'map create user invitation' do
10
- assert_recognizes({:controller => 'invitations', :action => 'create'}, {:path => 'users/invitation', :method => :post})
10
+ assert_recognizes({:controller => 'devise/invitations', :action => 'create'}, {:path => 'users/invitation', :method => :post})
11
11
  end
12
12
 
13
13
  test 'map accept user invitation' do
14
- assert_recognizes({:controller => 'invitations', :action => 'edit'}, 'users/invitation/accept')
14
+ assert_recognizes({:controller => 'devise/invitations', :action => 'edit'}, 'users/invitation/accept')
15
15
  end
16
16
 
17
17
  test 'map update user invitation' do
18
- assert_recognizes({:controller => 'invitations', :action => 'update'}, {:path => 'users/invitation', :method => :put})
18
+ assert_recognizes({:controller => 'devise/invitations', :action => 'update'}, {:path => 'users/invitation', :method => :put})
19
19
  end
20
20
  end
data/test/test_helper.rb CHANGED
@@ -1,16 +1,10 @@
1
1
  ENV["RAILS_ENV"] = "test"
2
- require File.join(File.dirname(__FILE__), 'rails_app', 'config', 'environment')
2
+ require 'rails_app/config/environment'
3
3
 
4
- require 'test_help'
5
- require 'mocha'
6
- require 'webrat'
7
- require File.join(File.dirname(__FILE__), '..', 'lib', 'devise', 'controllers', 'url_helpers')
8
- require File.join(File.dirname(__FILE__), '..', 'lib', 'devise', 'controllers', 'helpers')
9
- ActionView::Base.send :include, Devise::Controllers::UrlHelpers
10
-
11
- path = File.join(File.dirname(__FILE__), '..', 'app', 'views')
12
- ActionController::Base.view_paths << path
13
- Devise::Mailer.view_paths << path
4
+ require 'rails/test_help'
5
+ require 'bundler'
6
+ Bundler.setup(:default, :development)
7
+ require 'capybara/rails'
14
8
 
15
9
  ActionMailer::Base.delivery_method = :test
16
10
  ActionMailer::Base.perform_deliveries = true
@@ -29,30 +23,7 @@ ActiveRecord::Schema.define(:version => 1) do
29
23
  t.timestamps
30
24
  end
31
25
  end
32
- class User
33
- devise :database_authenticatable, :invitable
34
- end
35
- ActionController::Routing::Routes.draw do |map|
36
- map.devise_for :users
37
- end
38
- require File.join(File.dirname(__FILE__), '..', 'app', 'controllers', 'invitations_controller')
39
- InvitationsController.send :include, Devise::Controllers::Helpers
40
-
41
- Webrat.configure do |config|
42
- config.mode = :rails
43
- config.open_error_files = false
44
- end
45
26
 
46
- class ActiveSupport::TestCase
47
- self.use_transactional_fixtures = true
48
- self.use_instantiated_fixtures = false
49
-
50
- def assert_not(assertion, message = nil)
51
- assert !assertion, message
52
- end
53
-
54
- def assert_not_blank(assertion)
55
- assert !assertion.blank?
56
- end
57
- alias :assert_present :assert_not_blank
27
+ class ActionDispatch::IntegrationTest
28
+ include Capybara
58
29
  end
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise_invitable
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 17
4
5
  prerelease: false
5
6
  segments:
6
7
  - 0
7
8
  - 3
8
- - 0
9
- version: 0.3.0
9
+ - 1
10
+ version: 0.3.1
10
11
  platform: ruby
11
12
  authors:
12
13
  - Sergio Cambra
@@ -14,47 +15,87 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2010-05-17 00:00:00 +02:00
18
+ date: 2010-09-13 00:00:00 +02:00
18
19
  default_executable:
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
21
22
  name: mocha
22
23
  prerelease: false
23
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
24
26
  requirements:
25
27
  - - ">="
26
28
  - !ruby/object:Gem::Version
29
+ hash: 43
27
30
  segments:
28
31
  - 0
29
- version: "0"
32
+ - 9
33
+ - 8
34
+ version: 0.9.8
30
35
  type: :development
31
36
  version_requirements: *id001
32
37
  - !ruby/object:Gem::Dependency
33
- name: webrat
38
+ name: capybara
34
39
  prerelease: false
35
40
  requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
36
42
  requirements:
37
43
  - - ">="
38
44
  - !ruby/object:Gem::Version
45
+ hash: 1
39
46
  segments:
40
47
  - 0
41
- version: "0"
48
+ - 3
49
+ - 9
50
+ version: 0.3.9
42
51
  type: :development
43
52
  version_requirements: *id002
44
53
  - !ruby/object:Gem::Dependency
45
- name: devise
54
+ name: rails
46
55
  prerelease: false
47
56
  requirement: &id003 !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ hash: 7
62
+ segments:
63
+ - 3
64
+ - 0
65
+ - 0
66
+ version: 3.0.0
67
+ type: :development
68
+ version_requirements: *id003
69
+ - !ruby/object:Gem::Dependency
70
+ name: sqlite3-ruby
71
+ prerelease: false
72
+ requirement: &id004 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ hash: 3
78
+ segments:
79
+ - 0
80
+ version: "0"
81
+ type: :development
82
+ version_requirements: *id004
83
+ - !ruby/object:Gem::Dependency
84
+ name: devise
85
+ prerelease: false
86
+ requirement: &id005 !ruby/object:Gem::Requirement
87
+ none: false
48
88
  requirements:
49
89
  - - ~>
50
90
  - !ruby/object:Gem::Version
91
+ hash: 19
51
92
  segments:
52
93
  - 1
53
94
  - 1
54
95
  - 0
55
96
  version: 1.1.0
56
97
  type: :runtime
57
- version_requirements: *id003
98
+ version_requirements: *id005
58
99
  description: It adds support for send invitations by email (it requires to be authenticated) and accept the invitation setting the password
59
100
  email: sergio@entrecables.com
60
101
  executables: []
@@ -67,20 +108,22 @@ extra_rdoc_files:
67
108
  files:
68
109
  - .document
69
110
  - .gitignore
111
+ - Gemfile
112
+ - Gemfile.lock
70
113
  - LICENSE
71
114
  - README.rdoc
72
115
  - Rakefile
73
116
  - VERSION
74
- - app/controllers/invitations_controller.rb
75
- - app/views/devise_mailer/invitation.html.erb
76
- - app/views/invitations/edit.html.erb
77
- - app/views/invitations/new.html.erb
117
+ - app/controllers/devise/invitations_controller.rb
118
+ - app/views/devise/invitations/edit.html.erb
119
+ - app/views/devise/invitations/new.html.erb
120
+ - app/views/devise/mailer/invitation.html.erb
121
+ - config/locales/en.yml
78
122
  - devise_invitable.gemspec
79
123
  - init.rb
80
124
  - lib/devise_invitable.rb
81
125
  - lib/devise_invitable/controllers/helpers.rb
82
126
  - lib/devise_invitable/controllers/url_helpers.rb
83
- - lib/devise_invitable/locales/en.yml
84
127
  - lib/devise_invitable/mailer.rb
85
128
  - lib/devise_invitable/model.rb
86
129
  - lib/devise_invitable/rails.rb
@@ -99,6 +142,9 @@ files:
99
142
  - test/rails_app/app/helpers/application_helper.rb
100
143
  - test/rails_app/app/models/user.rb
101
144
  - test/rails_app/app/views/home/index.html.erb
145
+ - test/rails_app/app/views/layouts/application.html.erb
146
+ - test/rails_app/config.ru
147
+ - test/rails_app/config/application.rb
102
148
  - test/rails_app/config/boot.rb
103
149
  - test/rails_app/config/database.yml
104
150
  - test/rails_app/config/environment.rb
@@ -108,10 +154,11 @@ files:
108
154
  - test/rails_app/config/initializers/backtrace_silencers.rb
109
155
  - test/rails_app/config/initializers/devise.rb
110
156
  - test/rails_app/config/initializers/inflections.rb
111
- - test/rails_app/config/initializers/new_rails_defaults.rb
157
+ - test/rails_app/config/initializers/mime_types.rb
158
+ - test/rails_app/config/initializers/secret_token.rb
112
159
  - test/rails_app/config/initializers/session_store.rb
160
+ - test/rails_app/config/locales/en.yml
113
161
  - test/rails_app/config/routes.rb
114
- - test/rails_app/vendor/plugins/devise_invitable/init.rb
115
162
  - test/routes_test.rb
116
163
  - test/test_helper.rb
117
164
  has_rdoc: true
@@ -124,50 +171,55 @@ rdoc_options:
124
171
  require_paths:
125
172
  - lib
126
173
  required_ruby_version: !ruby/object:Gem::Requirement
174
+ none: false
127
175
  requirements:
128
176
  - - ">="
129
177
  - !ruby/object:Gem::Version
178
+ hash: 3
130
179
  segments:
131
180
  - 0
132
181
  version: "0"
133
182
  required_rubygems_version: !ruby/object:Gem::Requirement
183
+ none: false
134
184
  requirements:
135
185
  - - ">="
136
186
  - !ruby/object:Gem::Version
187
+ hash: 3
137
188
  segments:
138
189
  - 0
139
190
  version: "0"
140
191
  requirements: []
141
192
 
142
193
  rubyforge_project:
143
- rubygems_version: 1.3.6
194
+ rubygems_version: 1.3.7
144
195
  signing_key:
145
196
  specification_version: 3
146
197
  summary: An invitation strategy for devise
147
198
  test_files:
199
+ - test/test_helper.rb
148
200
  - test/integration/invitable_test.rb
149
- - test/integration_tests_helper.rb
150
- - test/mailers/invitation_test.rb
151
- - test/model_tests_helper.rb
152
- - test/models/invitable_test.rb
153
- - test/models_test.rb
201
+ - test/routes_test.rb
202
+ - test/rails_app/app/helpers/application_helper.rb
203
+ - test/rails_app/app/models/user.rb
154
204
  - test/rails_app/app/controllers/admins_controller.rb
155
205
  - test/rails_app/app/controllers/application_controller.rb
156
206
  - test/rails_app/app/controllers/home_controller.rb
157
207
  - test/rails_app/app/controllers/users_controller.rb
158
- - test/rails_app/app/helpers/application_helper.rb
159
- - test/rails_app/app/models/user.rb
160
- - test/rails_app/config/boot.rb
208
+ - test/rails_app/config/initializers/devise.rb
209
+ - test/rails_app/config/initializers/inflections.rb
210
+ - test/rails_app/config/initializers/mime_types.rb
211
+ - test/rails_app/config/initializers/secret_token.rb
212
+ - test/rails_app/config/initializers/session_store.rb
213
+ - test/rails_app/config/initializers/backtrace_silencers.rb
161
214
  - test/rails_app/config/environment.rb
162
- - test/rails_app/config/environments/development.rb
163
215
  - test/rails_app/config/environments/production.rb
164
216
  - test/rails_app/config/environments/test.rb
165
- - test/rails_app/config/initializers/backtrace_silencers.rb
166
- - test/rails_app/config/initializers/inflections.rb
167
- - test/rails_app/config/initializers/new_rails_defaults.rb
168
- - test/rails_app/config/initializers/session_store.rb
169
- - test/rails_app/config/initializers/devise.rb
217
+ - test/rails_app/config/environments/development.rb
170
218
  - test/rails_app/config/routes.rb
171
- - test/rails_app/vendor/plugins/devise_invitable/init.rb
172
- - test/routes_test.rb
173
- - test/test_helper.rb
219
+ - test/rails_app/config/application.rb
220
+ - test/rails_app/config/boot.rb
221
+ - test/integration_tests_helper.rb
222
+ - test/model_tests_helper.rb
223
+ - test/models_test.rb
224
+ - test/mailers/invitation_test.rb
225
+ - test/models/invitable_test.rb
@@ -1,14 +0,0 @@
1
- <h2>Set your password</h2>
2
-
3
- <% form_for resource_name, resource, :url => invitation_path(resource_name), :html => { :method => :put } do |f| %>
4
- <%= f.error_messages %>
5
- <%= f.hidden_field :invitation_token %>
6
-
7
- <p><%= f.label :password %></p>
8
- <p><%= f.password_field :password %></p>
9
-
10
- <p><%= f.label :password_confirmation %></p>
11
- <p><%= f.password_field :password_confirmation %></p>
12
-
13
- <p><%= f.submit "Set my password" %></p>
14
- <% end %>
@@ -1,12 +0,0 @@
1
- <h2>Send invitation</h2>
2
-
3
- <% form_for resource_name, resource, :url => invitation_path(resource_name) do |f| %>
4
- <%= f.error_messages %>
5
-
6
- <p><%= f.label :email %></p>
7
- <p><%= f.text_field :email %></p>
8
-
9
- <p><%= f.submit "Send an invitation" %></p>
10
- <% end %>
11
-
12
- <%= link_to "Home", after_sign_in_path_for(resource_name) %><br />
@@ -1,21 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # These settings change the behavior of Rails 2 apps and will be defaults
4
- # for Rails 3. You can remove this initializer when Rails 3 is released.
5
-
6
- if defined?(ActiveRecord)
7
- # Include Active Record class name as root for JSON serialized output.
8
- ActiveRecord::Base.include_root_in_json = true
9
-
10
- # Store the full class name (including module namespace) in STI type column.
11
- ActiveRecord::Base.store_full_sti_class = true
12
- end
13
-
14
- ActionController::Routing.generate_best_match = false
15
-
16
- # Use ISO 8601 format for JSON serialized times and dates.
17
- ActiveSupport.use_standard_json_time_format = true
18
-
19
- # Don't escape HTML entities in JSON, leave that for the #json_escape helper.
20
- # if you're including raw json in an HTML page.
21
- ActiveSupport.escape_html_entities_in_json = false
@@ -1 +0,0 @@
1
- require File.join(File.dirname(__FILE__), '../../../../../init')