devise_invitable 2.0.14 → 3.0.0

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 (35) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +41 -0
  3. data/README.md +108 -97
  4. data/app/controllers/devise/invitations_controller.rb +1 -1
  5. data/app/controllers/devise_invitable/registrations_controller.rb +15 -10
  6. data/lib/devise_invitable/invitation.rb +89 -0
  7. data/lib/devise_invitable/inviter.rb +23 -1
  8. data/lib/devise_invitable/migrator.rb +113 -0
  9. data/lib/devise_invitable/models.rb +328 -81
  10. data/lib/devise_invitable/rails.rb +10 -0
  11. data/lib/devise_invitable/version.rb +1 -1
  12. data/lib/devise_invitable.rb +39 -4
  13. data/lib/generators/active_record/devise_invitable_install_generator.rb +22 -0
  14. data/lib/generators/active_record/devise_invitable_upgrade_generator.rb +28 -0
  15. data/lib/generators/active_record/templates/create_devise_invitations.rb +23 -0
  16. data/lib/generators/active_record/templates/upgrade_devise_invitations.rb +72 -0
  17. data/lib/generators/devise_invitable/devise_invitable_generator.rb +2 -4
  18. data/lib/generators/devise_invitable/install_generator.rb +8 -10
  19. data/lib/generators/devise_invitable/upgrade_generator.rb +16 -0
  20. data/lib/generators/mongoid/devise_invitable_install_generator.rb +7 -0
  21. data/lib/generators/mongoid/devise_invitable_upgrade_generator.rb +11 -0
  22. data/lib/tasks/devise_invitable_tasks.rake +10 -0
  23. data/test/functional/registrations_controller_test.rb +24 -3
  24. data/test/generators_test.rb +16 -9
  25. data/test/integration/invitation_test.rb +3 -3
  26. data/test/mailers/invitation_mail_test.rb +1 -0
  27. data/test/models/separate_invitations_test.rb +181 -0
  28. data/test/models_test.rb +34 -0
  29. data/test/rails_app/app/models/user.rb +2 -1
  30. data/test/rails_app/config/initializers/devise.rb +0 -9
  31. data/test/rails_app/db/migrate/20100401102949_create_tables.rb +22 -0
  32. metadata +22 -13
  33. data/lib/generators/active_record/devise_invitable_generator.rb +0 -19
  34. data/lib/generators/active_record/templates/migration.rb +0 -22
  35. data/lib/generators/mongoid/devise_invitable_generator.rb +0 -8
@@ -33,6 +33,28 @@ class CreateTables < (Rails.version < '5.1' ? ActiveRecord::Migration : ActiveRe
33
33
  end
34
34
  add_index :users, :invitation_token, :unique => true
35
35
 
36
+ create_table :devise_invitations do |t|
37
+ t.string :invitation_token
38
+ t.datetime :invitation_created_at
39
+ t.datetime :invitation_sent_at
40
+ t.datetime :invitation_accepted_at
41
+ t.datetime :superseded_at
42
+ t.string :superseded_reason
43
+ t.datetime :revoked_at
44
+ t.datetime :resource_created_at
45
+ t.json :invite_key, null: false, default: {}
46
+ t.string :invite_key_digest, null: false
47
+ t.integer :invitable_id
48
+ t.string :invitable_type
49
+ t.integer :invited_by_id
50
+ t.string :invited_by_type
51
+ t.timestamps
52
+ end
53
+ add_index :devise_invitations, :invitation_token, unique: true
54
+ add_index :devise_invitations, [:invitable_type, :invitable_id]
55
+ add_index :devise_invitations, [:invited_by_type, :invited_by_id]
56
+ add_index :devise_invitations, [:invitable_type, :invite_key_digest]
57
+
36
58
  create_table :admins do |t|
37
59
  ## Database authenticatable
38
60
  t.string :email, :null => true, :default => ""
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise_invitable
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.14
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergio Cambra
@@ -15,42 +15,42 @@ dependencies:
15
15
  requirements:
16
16
  - - ">="
17
17
  - !ruby/object:Gem::Version
18
- version: '5.0'
18
+ version: '7.0'
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - ">="
24
24
  - !ruby/object:Gem::Version
25
- version: '5.0'
25
+ version: '7.0'
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: devise
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: '4.6'
32
+ version: '5.0'
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
- version: '4.6'
39
+ version: '5.0'
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: bundler
42
42
  requirement: !ruby/object:Gem::Requirement
43
43
  requirements:
44
- - - "~>"
44
+ - - ">="
45
45
  - !ruby/object:Gem::Version
46
- version: '4.0'
46
+ version: '2.0'
47
47
  type: :development
48
48
  prerelease: false
49
49
  version_requirements: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - "~>"
51
+ - - ">="
52
52
  - !ruby/object:Gem::Version
53
- version: '4.0'
53
+ version: '2.0'
54
54
  description: It adds support for send invitations by email (it requires to be authenticated)
55
55
  and accept the invitation by setting a password.
56
56
  email:
@@ -95,23 +95,30 @@ files:
95
95
  - config/locales/zh-TW.yml
96
96
  - lib/devise_invitable.rb
97
97
  - lib/devise_invitable/controllers/helpers.rb
98
+ - lib/devise_invitable/invitation.rb
98
99
  - lib/devise_invitable/inviter.rb
99
100
  - lib/devise_invitable/mailer.rb
100
101
  - lib/devise_invitable/mapping.rb
102
+ - lib/devise_invitable/migrator.rb
101
103
  - lib/devise_invitable/models.rb
102
104
  - lib/devise_invitable/models/authenticatable.rb
103
105
  - lib/devise_invitable/parameter_sanitizer.rb
104
106
  - lib/devise_invitable/rails.rb
105
107
  - lib/devise_invitable/routes.rb
106
108
  - lib/devise_invitable/version.rb
107
- - lib/generators/active_record/devise_invitable_generator.rb
108
- - lib/generators/active_record/templates/migration.rb
109
+ - lib/generators/active_record/devise_invitable_install_generator.rb
110
+ - lib/generators/active_record/devise_invitable_upgrade_generator.rb
111
+ - lib/generators/active_record/templates/create_devise_invitations.rb
112
+ - lib/generators/active_record/templates/upgrade_devise_invitations.rb
109
113
  - lib/generators/devise_invitable/devise_invitable_generator.rb
110
114
  - lib/generators/devise_invitable/install_generator.rb
111
115
  - lib/generators/devise_invitable/templates/simple_form_for/invitations/edit.html.erb
112
116
  - lib/generators/devise_invitable/templates/simple_form_for/invitations/new.html.erb
117
+ - lib/generators/devise_invitable/upgrade_generator.rb
113
118
  - lib/generators/devise_invitable/views_generator.rb
114
- - lib/generators/mongoid/devise_invitable_generator.rb
119
+ - lib/generators/mongoid/devise_invitable_install_generator.rb
120
+ - lib/generators/mongoid/devise_invitable_upgrade_generator.rb
121
+ - lib/tasks/devise_invitable_tasks.rake
115
122
  - test/functional/controller_helpers_test.rb
116
123
  - test/functional/registrations_controller_test.rb
117
124
  - test/generators/views_generator_test.rb
@@ -123,6 +130,7 @@ files:
123
130
  - test/mailers/parent_mailer_test.rb
124
131
  - test/model_tests_helper.rb
125
132
  - test/models/invitable_test.rb
133
+ - test/models/separate_invitations_test.rb
126
134
  - test/models_test.rb
127
135
  - test/orm/active_record.rb
128
136
  - test/orm/mongoid.rb
@@ -182,7 +190,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
182
190
  requirements:
183
191
  - - ">="
184
192
  - !ruby/object:Gem::Version
185
- version: 2.2.2
193
+ version: 2.7.0
186
194
  required_rubygems_version: !ruby/object:Gem::Requirement
187
195
  requirements:
188
196
  - - ">="
@@ -204,6 +212,7 @@ test_files:
204
212
  - test/mailers/parent_mailer_test.rb
205
213
  - test/model_tests_helper.rb
206
214
  - test/models/invitable_test.rb
215
+ - test/models/separate_invitations_test.rb
207
216
  - test/models_test.rb
208
217
  - test/orm/active_record.rb
209
218
  - test/orm/mongoid.rb
@@ -1,19 +0,0 @@
1
- require 'rails/generators/active_record'
2
-
3
- module ActiveRecord
4
- module Generators
5
- class DeviseInvitableGenerator < ActiveRecord::Generators::Base
6
- source_root File.expand_path('../templates', __FILE__)
7
-
8
- def copy_devise_migration
9
- migration_template 'migration.rb', "db/migrate/devise_invitable_add_to_#{table_name}.rb", migration_version: migration_version
10
- end
11
-
12
- def migration_version
13
- if Rails::VERSION::MAJOR >= 5
14
- "[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]"
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,22 +0,0 @@
1
- class DeviseInvitableAddTo<%= table_name.camelize %> < ActiveRecord::Migration<%= migration_version %>
2
- def up
3
- change_table :<%= table_name %> do |t|
4
- t.string :invitation_token
5
- t.datetime :invitation_created_at
6
- t.datetime :invitation_sent_at
7
- t.datetime :invitation_accepted_at
8
- t.integer :invitation_limit
9
- t.references :invited_by, polymorphic: true
10
- t.integer :invitations_count, default: 0
11
- t.index :invitation_token, unique: true # for invitable
12
- t.index :invited_by_id
13
- end
14
- end
15
-
16
- def down
17
- change_table :<%= table_name %> do |t|
18
- t.remove_references :invited_by, polymorphic: true
19
- t.remove :invitations_count, :invitation_limit, :invitation_sent_at, :invitation_accepted_at, :invitation_token, :invitation_created_at
20
- end
21
- end
22
- end
@@ -1,8 +0,0 @@
1
- require 'generators/devise/orm_helpers'
2
-
3
- module Mongoid
4
- module Generators
5
- class DeviseInvitableGenerator < Rails::Generators::NamedBase
6
- end
7
- end
8
- end