devise_invitable 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
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')