devise_invitable 0.3.1 → 0.4.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.
- data/README.rdoc +152 -51
- data/app/controllers/devise/invitations_controller.rb +23 -6
- data/app/views/devise/mailer/invitation_instructions.html.erb +8 -0
- data/config/locales/en.yml +5 -3
- data/lib/devise_invitable/controllers/helpers.rb +2 -2
- data/lib/devise_invitable/mailer.rb +12 -5
- data/lib/devise_invitable/model.rb +91 -38
- data/lib/devise_invitable/rails.rb +3 -4
- data/lib/devise_invitable/routes.rb +8 -5
- data/lib/devise_invitable/schema.rb +27 -2
- data/lib/devise_invitable/version.rb +3 -0
- data/lib/devise_invitable.rb +38 -13
- data/lib/generators/active_record/devise_invitable_generator.rb +13 -0
- data/lib/generators/active_record/templates/migration.rb +25 -0
- data/lib/generators/devise_invitable/devise_invitable_generator.rb +20 -0
- data/lib/generators/devise_invitable/install_generator.rb +49 -0
- data/lib/generators/devise_invitable/views_generator.rb +10 -0
- data/lib/generators/mongoid/devise_invitable_generator.rb +8 -0
- metadata +54 -137
- data/.document +0 -5
- data/.gitignore +0 -22
- data/Gemfile +0 -3
- data/Gemfile.lock +0 -108
- data/Rakefile +0 -55
- data/VERSION +0 -1
- data/app/views/devise/mailer/invitation.html.erb +0 -8
- data/devise_invitable.gemspec +0 -136
- data/init.rb +0 -1
- data/test/integration/invitable_test.rb +0 -109
- data/test/integration_tests_helper.rb +0 -58
- data/test/mailers/invitation_test.rb +0 -62
- data/test/model_tests_helper.rb +0 -41
- data/test/models/invitable_test.rb +0 -172
- data/test/models_test.rb +0 -31
- data/test/rails_app/app/controllers/admins_controller.rb +0 -6
- data/test/rails_app/app/controllers/application_controller.rb +0 -3
- data/test/rails_app/app/controllers/home_controller.rb +0 -4
- data/test/rails_app/app/controllers/users_controller.rb +0 -12
- data/test/rails_app/app/helpers/application_helper.rb +0 -2
- data/test/rails_app/app/models/user.rb +0 -4
- data/test/rails_app/app/views/home/index.html.erb +0 -0
- data/test/rails_app/app/views/layouts/application.html.erb +0 -15
- data/test/rails_app/config/application.rb +0 -45
- data/test/rails_app/config/boot.rb +0 -13
- data/test/rails_app/config/database.yml +0 -22
- data/test/rails_app/config/environment.rb +0 -5
- data/test/rails_app/config/environments/development.rb +0 -26
- data/test/rails_app/config/environments/production.rb +0 -49
- data/test/rails_app/config/environments/test.rb +0 -35
- data/test/rails_app/config/initializers/backtrace_silencers.rb +0 -7
- data/test/rails_app/config/initializers/devise.rb +0 -142
- data/test/rails_app/config/initializers/inflections.rb +0 -10
- data/test/rails_app/config/initializers/mime_types.rb +0 -5
- data/test/rails_app/config/initializers/secret_token.rb +0 -7
- data/test/rails_app/config/initializers/session_store.rb +0 -8
- data/test/rails_app/config/locales/en.yml +0 -5
- data/test/rails_app/config/routes.rb +0 -4
- data/test/rails_app/config.ru +0 -4
- data/test/routes_test.rb +0 -20
- data/test/test_helper.rb +0 -29
data/lib/devise_invitable.rb
CHANGED
|
@@ -1,16 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
require 'devise'
|
|
3
|
-
end
|
|
4
|
-
|
|
5
|
-
Devise.module_eval do
|
|
6
|
-
# Time interval where the invitation token is valid.
|
|
7
|
-
mattr_accessor :invite_for
|
|
8
|
-
@@invite_for = 0
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
Devise.add_module :invitable, :controller => :invitations, :model => 'devise_invitable/model', :route => :invitation
|
|
12
|
-
|
|
13
|
-
module DeviseInvitable; end
|
|
1
|
+
require 'devise'
|
|
14
2
|
|
|
15
3
|
require 'devise_invitable/mailer'
|
|
16
4
|
require 'devise_invitable/routes'
|
|
@@ -18,3 +6,40 @@ require 'devise_invitable/schema'
|
|
|
18
6
|
require 'devise_invitable/controllers/url_helpers'
|
|
19
7
|
require 'devise_invitable/controllers/helpers'
|
|
20
8
|
require 'devise_invitable/rails'
|
|
9
|
+
|
|
10
|
+
module Devise
|
|
11
|
+
# Public: Validity period of the invitation token (default: 0). If
|
|
12
|
+
# invite_for is 0 or nil, the invitation will never expire.
|
|
13
|
+
# Set invite_for in the Devise configuration file (in config/initializers/devise.rb).
|
|
14
|
+
#
|
|
15
|
+
# config.invite_for = 2.weeks # => The invitation token will be valid 2 weeks
|
|
16
|
+
mattr_accessor :invite_for
|
|
17
|
+
@@invite_for = 0
|
|
18
|
+
|
|
19
|
+
# Public: Flag that force a record to be valid before being actually invited
|
|
20
|
+
# (default: false).
|
|
21
|
+
#
|
|
22
|
+
# Examples (in config/initializers/devise.rb)
|
|
23
|
+
#
|
|
24
|
+
# config.validate_on_invite = true
|
|
25
|
+
mattr_accessor :validate_on_invite
|
|
26
|
+
@@validate_on_invite = false
|
|
27
|
+
|
|
28
|
+
# Public: number of invitations the user is allowed to send
|
|
29
|
+
#
|
|
30
|
+
# Examples (in config/initializers/devise.rb)
|
|
31
|
+
#
|
|
32
|
+
# config.invitation_limit = nil
|
|
33
|
+
mattr_accessor :invitation_limit
|
|
34
|
+
@@invitation_limit = nil
|
|
35
|
+
|
|
36
|
+
# Public: The key to be used to check existing users when sending an invitation
|
|
37
|
+
#
|
|
38
|
+
# Examples (in config/initializers/devise.rb)
|
|
39
|
+
#
|
|
40
|
+
# config.invite_key = :email
|
|
41
|
+
mattr_accessor :invite_key
|
|
42
|
+
@@invite_key = :email
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
Devise.add_module :invitable, :controller => :invitations, :model => 'devise_invitable/model', :route => :invitation
|
|
@@ -0,0 +1,13 @@
|
|
|
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}"
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
class DeviseInvitableAddTo<%= table_name.camelize %> < ActiveRecord::Migration
|
|
2
|
+
def self.up
|
|
3
|
+
change_table :<%= table_name %> do |t|
|
|
4
|
+
t.string :invitation_token, :limit => 60
|
|
5
|
+
t.datetime :invitation_sent_at
|
|
6
|
+
t.integer :invitation_limit
|
|
7
|
+
t.references :invited_by, :polymorphic => true
|
|
8
|
+
t.index :invitation_token # for invitable
|
|
9
|
+
t.index :invited_by_id
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# And allow null encrypted_password and password_salt:
|
|
13
|
+
change_column_null :<%= table_name %>, :encrypted_password, true
|
|
14
|
+
<% if class_name.constantize.columns_hash['password_salt'] -%>
|
|
15
|
+
change_column_null :<%= table_name %>, :password_salt, true
|
|
16
|
+
<% end -%>
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def self.down
|
|
20
|
+
change_table :<%= table_name %> do |t|
|
|
21
|
+
remove_references :invited_by, :polymorphic => true
|
|
22
|
+
remove :invitation_limit, :invitation_sent_at, :invitation_token
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
module DeviseInvitable
|
|
2
|
+
module Generators
|
|
3
|
+
class DeviseInvitableGenerator < Rails::Generators::NamedBase
|
|
4
|
+
namespace "devise_invitable"
|
|
5
|
+
|
|
6
|
+
desc "Add :invitable directive in the given model. Also generate migration for ActiveRecord"
|
|
7
|
+
|
|
8
|
+
# def devise_generate_model
|
|
9
|
+
# invoke "devise", [name]
|
|
10
|
+
# end
|
|
11
|
+
|
|
12
|
+
def inject_devise_invitable_content
|
|
13
|
+
path = File.join("app", "models", "#{file_path}.rb")
|
|
14
|
+
inject_into_file(path, "invitable, :", :after => "devise :") if File.exists?(path)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
hook_for :orm
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
module DeviseInvitable
|
|
2
|
+
module Generators
|
|
3
|
+
class InstallGenerator < Rails::Generators::Base
|
|
4
|
+
source_root File.expand_path("../../templates", __FILE__)
|
|
5
|
+
desc "Add DeviseInvitable config variables to the Devise initializer and copy DeviseInvitable locale files to your application."
|
|
6
|
+
|
|
7
|
+
# def devise_install
|
|
8
|
+
# invoke "devise:install"
|
|
9
|
+
# end
|
|
10
|
+
|
|
11
|
+
def add_config_options_to_initializer
|
|
12
|
+
devise_initializer_path = "config/initializers/devise.rb"
|
|
13
|
+
if File.exist?(devise_initializer_path)
|
|
14
|
+
old_content = File.read(devise_initializer_path)
|
|
15
|
+
|
|
16
|
+
if old_content.match(Regexp.new(/^\s# ==> Configuration for :invitable\n/))
|
|
17
|
+
false
|
|
18
|
+
else
|
|
19
|
+
inject_into_file(devise_initializer_path, :before => " # ==> Configuration for :confirmable\n") do
|
|
20
|
+
<<-CONTENT
|
|
21
|
+
# ==> Configuration for :invitable
|
|
22
|
+
# The period the generated invitation token is valid, after
|
|
23
|
+
# this period, the invited resource won't be able to accept the invitation.
|
|
24
|
+
# When invite_for is 0 (the default), the invitation won't expire.
|
|
25
|
+
# config.invite_for = 2.weeks
|
|
26
|
+
|
|
27
|
+
# Number of invitations users can send.
|
|
28
|
+
# If invitation_limit is nil, users can send unlimited invitations.
|
|
29
|
+
# If invitation_limit is 0, users can't send invitations.
|
|
30
|
+
# If invitation_limit n > 0, users can send n invitations.
|
|
31
|
+
# Default: nil
|
|
32
|
+
# config.invitation_limit = 5
|
|
33
|
+
|
|
34
|
+
# The key to be used to check existing users when sending an invitation
|
|
35
|
+
# config.invite_key = :email
|
|
36
|
+
|
|
37
|
+
CONTENT
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def copy_locale
|
|
44
|
+
copy_file "../../../config/locales/en.yml", "config/locales/devise_invitable.en.yml"
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
require 'generators/devise/views_generator'
|
|
2
|
+
|
|
3
|
+
module DeviseInvitable
|
|
4
|
+
module Generators
|
|
5
|
+
class ViewsGenerator < Devise::Generators::ViewsGenerator
|
|
6
|
+
source_root File.expand_path("../../../../app/views", __FILE__)
|
|
7
|
+
desc 'Copies all DeviseInvitable views to your application.'
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
end
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: devise_invitable
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash:
|
|
5
|
-
prerelease:
|
|
4
|
+
hash: 15
|
|
5
|
+
prerelease:
|
|
6
6
|
segments:
|
|
7
7
|
- 0
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
version: 0.
|
|
8
|
+
- 4
|
|
9
|
+
- 0
|
|
10
|
+
version: 0.4.0
|
|
11
11
|
platform: ruby
|
|
12
12
|
authors:
|
|
13
13
|
- Sergio Cambra
|
|
@@ -15,45 +15,29 @@ autorequire:
|
|
|
15
15
|
bindir: bin
|
|
16
16
|
cert_chain: []
|
|
17
17
|
|
|
18
|
-
date:
|
|
18
|
+
date: 2011-03-31 00:00:00 +02:00
|
|
19
19
|
default_executable:
|
|
20
20
|
dependencies:
|
|
21
21
|
- !ruby/object:Gem::Dependency
|
|
22
|
-
name:
|
|
22
|
+
name: bundler
|
|
23
23
|
prerelease: false
|
|
24
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
|
25
25
|
none: false
|
|
26
26
|
requirements:
|
|
27
|
-
- -
|
|
27
|
+
- - ~>
|
|
28
28
|
- !ruby/object:Gem::Version
|
|
29
|
-
hash:
|
|
29
|
+
hash: 25
|
|
30
30
|
segments:
|
|
31
|
+
- 1
|
|
31
32
|
- 0
|
|
32
|
-
-
|
|
33
|
-
|
|
34
|
-
version: 0.9.8
|
|
33
|
+
- 7
|
|
34
|
+
version: 1.0.7
|
|
35
35
|
type: :development
|
|
36
36
|
version_requirements: *id001
|
|
37
|
-
- !ruby/object:Gem::Dependency
|
|
38
|
-
name: capybara
|
|
39
|
-
prerelease: false
|
|
40
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
|
41
|
-
none: false
|
|
42
|
-
requirements:
|
|
43
|
-
- - ">="
|
|
44
|
-
- !ruby/object:Gem::Version
|
|
45
|
-
hash: 1
|
|
46
|
-
segments:
|
|
47
|
-
- 0
|
|
48
|
-
- 3
|
|
49
|
-
- 9
|
|
50
|
-
version: 0.3.9
|
|
51
|
-
type: :development
|
|
52
|
-
version_requirements: *id002
|
|
53
37
|
- !ruby/object:Gem::Dependency
|
|
54
38
|
name: rails
|
|
55
39
|
prerelease: false
|
|
56
|
-
requirement: &
|
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
|
57
41
|
none: false
|
|
58
42
|
requirements:
|
|
59
43
|
- - ~>
|
|
@@ -64,109 +48,64 @@ dependencies:
|
|
|
64
48
|
- 0
|
|
65
49
|
- 0
|
|
66
50
|
version: 3.0.0
|
|
67
|
-
type: :
|
|
68
|
-
version_requirements: *
|
|
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
|
|
51
|
+
type: :runtime
|
|
52
|
+
version_requirements: *id002
|
|
83
53
|
- !ruby/object:Gem::Dependency
|
|
84
54
|
name: devise
|
|
85
55
|
prerelease: false
|
|
86
|
-
requirement: &
|
|
56
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
|
87
57
|
none: false
|
|
88
58
|
requirements:
|
|
89
59
|
- - ~>
|
|
90
60
|
- !ruby/object:Gem::Version
|
|
91
|
-
hash:
|
|
61
|
+
hash: 31
|
|
92
62
|
segments:
|
|
93
63
|
- 1
|
|
94
|
-
-
|
|
64
|
+
- 2
|
|
95
65
|
- 0
|
|
96
|
-
version: 1.
|
|
66
|
+
version: 1.2.0
|
|
97
67
|
type: :runtime
|
|
98
|
-
version_requirements: *
|
|
99
|
-
description: It adds support for send invitations by email (it requires to be authenticated) and accept the invitation setting
|
|
100
|
-
email:
|
|
68
|
+
version_requirements: *id003
|
|
69
|
+
description: It adds support for send invitations by email (it requires to be authenticated) and accept the invitation by setting a password.
|
|
70
|
+
email:
|
|
71
|
+
- sergio@entrecables.com
|
|
101
72
|
executables: []
|
|
102
73
|
|
|
103
74
|
extensions: []
|
|
104
75
|
|
|
105
|
-
extra_rdoc_files:
|
|
106
|
-
|
|
107
|
-
- README.rdoc
|
|
76
|
+
extra_rdoc_files: []
|
|
77
|
+
|
|
108
78
|
files:
|
|
109
|
-
- .document
|
|
110
|
-
- .gitignore
|
|
111
|
-
- Gemfile
|
|
112
|
-
- Gemfile.lock
|
|
113
|
-
- LICENSE
|
|
114
|
-
- README.rdoc
|
|
115
|
-
- Rakefile
|
|
116
|
-
- VERSION
|
|
117
79
|
- app/controllers/devise/invitations_controller.rb
|
|
118
80
|
- app/views/devise/invitations/edit.html.erb
|
|
119
81
|
- app/views/devise/invitations/new.html.erb
|
|
120
|
-
- app/views/devise/mailer/
|
|
82
|
+
- app/views/devise/mailer/invitation_instructions.html.erb
|
|
121
83
|
- config/locales/en.yml
|
|
122
|
-
- devise_invitable.gemspec
|
|
123
|
-
- init.rb
|
|
124
84
|
- lib/devise_invitable.rb
|
|
125
|
-
- lib/devise_invitable/controllers/helpers.rb
|
|
126
|
-
- lib/devise_invitable/controllers/url_helpers.rb
|
|
127
85
|
- lib/devise_invitable/mailer.rb
|
|
128
86
|
- lib/devise_invitable/model.rb
|
|
129
87
|
- lib/devise_invitable/rails.rb
|
|
130
88
|
- lib/devise_invitable/routes.rb
|
|
131
89
|
- lib/devise_invitable/schema.rb
|
|
132
|
-
-
|
|
133
|
-
-
|
|
134
|
-
-
|
|
135
|
-
-
|
|
136
|
-
-
|
|
137
|
-
-
|
|
138
|
-
-
|
|
139
|
-
-
|
|
140
|
-
-
|
|
141
|
-
-
|
|
142
|
-
-
|
|
143
|
-
- test/rails_app/app/models/user.rb
|
|
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
|
|
148
|
-
- test/rails_app/config/boot.rb
|
|
149
|
-
- test/rails_app/config/database.yml
|
|
150
|
-
- test/rails_app/config/environment.rb
|
|
151
|
-
- test/rails_app/config/environments/development.rb
|
|
152
|
-
- test/rails_app/config/environments/production.rb
|
|
153
|
-
- test/rails_app/config/environments/test.rb
|
|
154
|
-
- test/rails_app/config/initializers/backtrace_silencers.rb
|
|
155
|
-
- test/rails_app/config/initializers/devise.rb
|
|
156
|
-
- test/rails_app/config/initializers/inflections.rb
|
|
157
|
-
- test/rails_app/config/initializers/mime_types.rb
|
|
158
|
-
- test/rails_app/config/initializers/secret_token.rb
|
|
159
|
-
- test/rails_app/config/initializers/session_store.rb
|
|
160
|
-
- test/rails_app/config/locales/en.yml
|
|
161
|
-
- test/rails_app/config/routes.rb
|
|
162
|
-
- test/routes_test.rb
|
|
163
|
-
- test/test_helper.rb
|
|
90
|
+
- lib/devise_invitable/controllers/helpers.rb
|
|
91
|
+
- lib/devise_invitable/controllers/url_helpers.rb
|
|
92
|
+
- lib/devise_invitable/version.rb
|
|
93
|
+
- lib/generators/active_record/devise_invitable_generator.rb
|
|
94
|
+
- lib/generators/active_record/templates/migration.rb
|
|
95
|
+
- lib/generators/devise_invitable/views_generator.rb
|
|
96
|
+
- lib/generators/devise_invitable/devise_invitable_generator.rb
|
|
97
|
+
- lib/generators/devise_invitable/install_generator.rb
|
|
98
|
+
- lib/generators/mongoid/devise_invitable_generator.rb
|
|
99
|
+
- LICENSE
|
|
100
|
+
- README.rdoc
|
|
164
101
|
has_rdoc: true
|
|
165
|
-
homepage:
|
|
102
|
+
homepage: https://github.com/scambra/devise_invitable
|
|
166
103
|
licenses: []
|
|
167
104
|
|
|
168
105
|
post_install_message:
|
|
169
106
|
rdoc_options:
|
|
107
|
+
- --main
|
|
108
|
+
- README.rdoc
|
|
170
109
|
- --charset=UTF-8
|
|
171
110
|
require_paths:
|
|
172
111
|
- lib
|
|
@@ -175,51 +114,29 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
175
114
|
requirements:
|
|
176
115
|
- - ">="
|
|
177
116
|
- !ruby/object:Gem::Version
|
|
178
|
-
hash:
|
|
117
|
+
hash: 59
|
|
179
118
|
segments:
|
|
180
|
-
-
|
|
181
|
-
|
|
119
|
+
- 1
|
|
120
|
+
- 8
|
|
121
|
+
- 6
|
|
122
|
+
version: 1.8.6
|
|
182
123
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
183
124
|
none: false
|
|
184
125
|
requirements:
|
|
185
126
|
- - ">="
|
|
186
127
|
- !ruby/object:Gem::Version
|
|
187
|
-
hash:
|
|
128
|
+
hash: 23
|
|
188
129
|
segments:
|
|
189
|
-
-
|
|
190
|
-
|
|
130
|
+
- 1
|
|
131
|
+
- 3
|
|
132
|
+
- 6
|
|
133
|
+
version: 1.3.6
|
|
191
134
|
requirements: []
|
|
192
135
|
|
|
193
136
|
rubyforge_project:
|
|
194
|
-
rubygems_version: 1.
|
|
137
|
+
rubygems_version: 1.5.2
|
|
195
138
|
signing_key:
|
|
196
139
|
specification_version: 3
|
|
197
|
-
summary: An invitation strategy for
|
|
198
|
-
test_files:
|
|
199
|
-
|
|
200
|
-
- test/integration/invitable_test.rb
|
|
201
|
-
- test/routes_test.rb
|
|
202
|
-
- test/rails_app/app/helpers/application_helper.rb
|
|
203
|
-
- test/rails_app/app/models/user.rb
|
|
204
|
-
- test/rails_app/app/controllers/admins_controller.rb
|
|
205
|
-
- test/rails_app/app/controllers/application_controller.rb
|
|
206
|
-
- test/rails_app/app/controllers/home_controller.rb
|
|
207
|
-
- test/rails_app/app/controllers/users_controller.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
|
|
214
|
-
- test/rails_app/config/environment.rb
|
|
215
|
-
- test/rails_app/config/environments/production.rb
|
|
216
|
-
- test/rails_app/config/environments/test.rb
|
|
217
|
-
- test/rails_app/config/environments/development.rb
|
|
218
|
-
- test/rails_app/config/routes.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
|
|
140
|
+
summary: An invitation strategy for Devise
|
|
141
|
+
test_files: []
|
|
142
|
+
|
data/.document
DELETED
data/.gitignore
DELETED
data/Gemfile
DELETED
data/Gemfile.lock
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
PATH
|
|
2
|
-
remote: .
|
|
3
|
-
specs:
|
|
4
|
-
devise_invitable (0.3.0)
|
|
5
|
-
devise (~> 1.1.0)
|
|
6
|
-
|
|
7
|
-
GEM
|
|
8
|
-
remote: http://rubygems.org/
|
|
9
|
-
specs:
|
|
10
|
-
abstract (1.0.0)
|
|
11
|
-
actionmailer (3.0.0)
|
|
12
|
-
actionpack (= 3.0.0)
|
|
13
|
-
mail (~> 2.2.5)
|
|
14
|
-
actionpack (3.0.0)
|
|
15
|
-
activemodel (= 3.0.0)
|
|
16
|
-
activesupport (= 3.0.0)
|
|
17
|
-
builder (~> 2.1.2)
|
|
18
|
-
erubis (~> 2.6.6)
|
|
19
|
-
i18n (~> 0.4.1)
|
|
20
|
-
rack (~> 1.2.1)
|
|
21
|
-
rack-mount (~> 0.6.12)
|
|
22
|
-
rack-test (~> 0.5.4)
|
|
23
|
-
tzinfo (~> 0.3.23)
|
|
24
|
-
activemodel (3.0.0)
|
|
25
|
-
activesupport (= 3.0.0)
|
|
26
|
-
builder (~> 2.1.2)
|
|
27
|
-
i18n (~> 0.4.1)
|
|
28
|
-
activerecord (3.0.0)
|
|
29
|
-
activemodel (= 3.0.0)
|
|
30
|
-
activesupport (= 3.0.0)
|
|
31
|
-
arel (~> 1.0.0)
|
|
32
|
-
tzinfo (~> 0.3.23)
|
|
33
|
-
activeresource (3.0.0)
|
|
34
|
-
activemodel (= 3.0.0)
|
|
35
|
-
activesupport (= 3.0.0)
|
|
36
|
-
activesupport (3.0.0)
|
|
37
|
-
arel (1.0.1)
|
|
38
|
-
activesupport (~> 3.0.0)
|
|
39
|
-
bcrypt-ruby (2.1.2)
|
|
40
|
-
builder (2.1.2)
|
|
41
|
-
capybara (0.3.9)
|
|
42
|
-
culerity (>= 0.2.4)
|
|
43
|
-
mime-types (>= 1.16)
|
|
44
|
-
nokogiri (>= 1.3.3)
|
|
45
|
-
rack (>= 1.0.0)
|
|
46
|
-
rack-test (>= 0.5.4)
|
|
47
|
-
selenium-webdriver (>= 0.0.3)
|
|
48
|
-
culerity (0.2.12)
|
|
49
|
-
devise (1.1.2)
|
|
50
|
-
bcrypt-ruby (~> 2.1.2)
|
|
51
|
-
warden (~> 0.10.7)
|
|
52
|
-
erubis (2.6.6)
|
|
53
|
-
abstract (>= 1.0.0)
|
|
54
|
-
ffi (0.6.3)
|
|
55
|
-
rake (>= 0.8.7)
|
|
56
|
-
i18n (0.4.1)
|
|
57
|
-
json_pure (1.4.6)
|
|
58
|
-
mail (2.2.6)
|
|
59
|
-
activesupport (>= 2.3.6)
|
|
60
|
-
mime-types
|
|
61
|
-
treetop (>= 1.4.5)
|
|
62
|
-
mime-types (1.16)
|
|
63
|
-
mocha (0.9.8)
|
|
64
|
-
rake
|
|
65
|
-
nokogiri (1.4.3.1)
|
|
66
|
-
polyglot (0.3.1)
|
|
67
|
-
rack (1.2.1)
|
|
68
|
-
rack-mount (0.6.13)
|
|
69
|
-
rack (>= 1.0.0)
|
|
70
|
-
rack-test (0.5.4)
|
|
71
|
-
rack (>= 1.0)
|
|
72
|
-
rails (3.0.0)
|
|
73
|
-
actionmailer (= 3.0.0)
|
|
74
|
-
actionpack (= 3.0.0)
|
|
75
|
-
activerecord (= 3.0.0)
|
|
76
|
-
activeresource (= 3.0.0)
|
|
77
|
-
activesupport (= 3.0.0)
|
|
78
|
-
bundler (~> 1.0.0)
|
|
79
|
-
railties (= 3.0.0)
|
|
80
|
-
railties (3.0.0)
|
|
81
|
-
actionpack (= 3.0.0)
|
|
82
|
-
activesupport (= 3.0.0)
|
|
83
|
-
rake (>= 0.8.4)
|
|
84
|
-
thor (~> 0.14.0)
|
|
85
|
-
rake (0.8.7)
|
|
86
|
-
rubyzip (0.9.4)
|
|
87
|
-
selenium-webdriver (0.0.28)
|
|
88
|
-
ffi (>= 0.6.1)
|
|
89
|
-
json_pure
|
|
90
|
-
rubyzip
|
|
91
|
-
sqlite3-ruby (1.3.1)
|
|
92
|
-
thor (0.14.0)
|
|
93
|
-
treetop (1.4.8)
|
|
94
|
-
polyglot (>= 0.3.1)
|
|
95
|
-
tzinfo (0.3.23)
|
|
96
|
-
warden (0.10.7)
|
|
97
|
-
rack (>= 1.0.0)
|
|
98
|
-
|
|
99
|
-
PLATFORMS
|
|
100
|
-
ruby
|
|
101
|
-
|
|
102
|
-
DEPENDENCIES
|
|
103
|
-
capybara (>= 0.3.9)
|
|
104
|
-
devise (~> 1.1.0)
|
|
105
|
-
devise_invitable!
|
|
106
|
-
mocha (>= 0.9.8)
|
|
107
|
-
rails (~> 3.0.0)
|
|
108
|
-
sqlite3-ruby
|
data/Rakefile
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
require 'rake'
|
|
2
|
-
|
|
3
|
-
begin
|
|
4
|
-
require 'jeweler'
|
|
5
|
-
Jeweler::Tasks.new do |gem|
|
|
6
|
-
gem.name = "devise_invitable"
|
|
7
|
-
gem.summary = %Q{An invitation strategy for devise}
|
|
8
|
-
gem.description = %Q{It adds support for send invitations by email (it requires to be authenticated) and accept the invitation setting the password}
|
|
9
|
-
gem.email = "sergio@entrecables.com"
|
|
10
|
-
gem.homepage = "http://github.com/scambra/devise_invitable"
|
|
11
|
-
gem.authors = ["Sergio Cambra"]
|
|
12
|
-
gem.add_development_dependency 'mocha', '>= 0.9.8'
|
|
13
|
-
gem.add_development_dependency 'capybara', '>= 0.3.9'
|
|
14
|
-
gem.add_development_dependency 'rails', '~> 3.0.0'
|
|
15
|
-
gem.add_development_dependency 'sqlite3-ruby'
|
|
16
|
-
gem.add_dependency 'devise', '~> 1.1.0'
|
|
17
|
-
end
|
|
18
|
-
Jeweler::GemcutterTasks.new
|
|
19
|
-
rescue LoadError
|
|
20
|
-
puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
require 'rake/testtask'
|
|
24
|
-
Rake::TestTask.new(:test) do |test|
|
|
25
|
-
test.libs << 'lib' << 'test'
|
|
26
|
-
test.pattern = 'test/**/*_test.rb'
|
|
27
|
-
test.verbose = true
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
begin
|
|
31
|
-
require 'rcov/rcovtask'
|
|
32
|
-
Rcov::RcovTask.new do |test|
|
|
33
|
-
test.libs << 'test'
|
|
34
|
-
test.pattern = 'test/**/test_*.rb'
|
|
35
|
-
test.verbose = true
|
|
36
|
-
end
|
|
37
|
-
rescue LoadError
|
|
38
|
-
task :rcov do
|
|
39
|
-
abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
task :test => :check_dependencies
|
|
44
|
-
|
|
45
|
-
task :default => :test
|
|
46
|
-
|
|
47
|
-
require 'rake/rdoctask'
|
|
48
|
-
Rake::RDocTask.new do |rdoc|
|
|
49
|
-
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
|
50
|
-
|
|
51
|
-
rdoc.rdoc_dir = 'rdoc'
|
|
52
|
-
rdoc.title = "devise_invitable #{version}"
|
|
53
|
-
rdoc.rdoc_files.include('README*')
|
|
54
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
|
55
|
-
end
|
data/VERSION
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0.3.1
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
Hello <%= @resource.email %>!
|
|
2
|
-
|
|
3
|
-
Someone has invited you to <%= root_url %>, you can accept it through the link below.
|
|
4
|
-
|
|
5
|
-
<%= link_to 'Accept invitation', accept_invitation_url(@resource, :invitation_token => @resource.invitation_token) %>
|
|
6
|
-
|
|
7
|
-
If you don't want to accept the invitation, please ignore this email.
|
|
8
|
-
Your account won't be created until you access the link above and set your password.
|