mix-rails-auth 0.22.0 → 0.23.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/app/models/admix/roles_datagrid.rb +1 -1
- data/app/models/admix/users_datagrid.rb +1 -1
- data/app/models/role.rb +2 -15
- data/app/models/user.rb +6 -46
- data/config/initializers/devise.rb +2 -2
- data/config/initializers/rolify.rb +1 -1
- data/config/routes.rb +1 -1
- data/db/migrate/20130206200605_devise_create_users.rb +46 -0
- data/db/migrate/20130206200717_rolify_create_roles.rb +19 -0
- data/lib/mix-rails-auth/engine.rb +6 -0
- data/lib/mix-rails-auth/version.rb +1 -1
- metadata +6 -4
data/app/models/role.rb
CHANGED
@@ -1,19 +1,6 @@
|
|
1
|
-
class Role
|
2
|
-
|
3
|
-
|
4
|
-
has_and_belongs_to_many :users
|
1
|
+
class Role < ActiveRecord::Base
|
2
|
+
has_and_belongs_to_many :users, :join_table => :users_roles
|
5
3
|
belongs_to :resource, :polymorphic => true
|
6
4
|
|
7
|
-
field :name, :type => String
|
8
|
-
index({ :name => 1 }, { :unique => true })
|
9
|
-
|
10
|
-
|
11
|
-
index({
|
12
|
-
:name => 1,
|
13
|
-
:resource_type => 1,
|
14
|
-
:resource_id => 1
|
15
|
-
},
|
16
|
-
{ :unique => true})
|
17
|
-
|
18
5
|
scopify
|
19
6
|
end
|
data/app/models/user.rb
CHANGED
@@ -1,52 +1,12 @@
|
|
1
|
-
class User
|
2
|
-
include Mongoid::Document
|
1
|
+
class User < ActiveRecord::Base
|
3
2
|
rolify
|
4
|
-
include Authority::UserAbilities
|
5
|
-
|
6
|
-
ROLES = %w[admin manager]
|
7
|
-
|
8
3
|
# Include default devise modules. Others available are:
|
9
4
|
# :token_authenticatable, :confirmable,
|
10
5
|
# :lockable, :timeoutable and :omniauthable
|
11
|
-
devise :database_authenticatable, :
|
12
|
-
:
|
13
|
-
|
14
|
-
## Database authenticatable
|
15
|
-
field :email, :type => String, :default => ""
|
16
|
-
field :encrypted_password, :type => String, :default => ""
|
17
|
-
|
18
|
-
validates_presence_of :email
|
19
|
-
validates_presence_of :encrypted_password
|
20
|
-
|
21
|
-
## Recoverable
|
22
|
-
field :reset_password_token, :type => String
|
23
|
-
field :reset_password_sent_at, :type => Time
|
24
|
-
|
25
|
-
## Rememberable
|
26
|
-
field :remember_created_at, :type => Time
|
27
|
-
|
28
|
-
## Trackable
|
29
|
-
field :sign_in_count, :type => Integer, :default => 0
|
30
|
-
field :current_sign_in_at, :type => Time
|
31
|
-
field :last_sign_in_at, :type => Time
|
32
|
-
field :current_sign_in_ip, :type => String
|
33
|
-
field :last_sign_in_ip, :type => String
|
34
|
-
|
35
|
-
|
36
|
-
## Confirmable
|
37
|
-
# field :confirmation_token, :type => String
|
38
|
-
# field :confirmed_at, :type => Time
|
39
|
-
# field :confirmation_sent_at, :type => Time
|
40
|
-
# field :unconfirmed_email, :type => String # Only if using reconfirmable
|
41
|
-
|
42
|
-
## Lockable
|
43
|
-
# field :failed_attempts, :type => Integer, :default => 0 # Only if lock strategy is :failed_attempts
|
44
|
-
# field :unlock_token, :type => String # Only if unlock strategy is :email or :both
|
45
|
-
# field :locked_at, :type => Time
|
46
|
-
|
47
|
-
## Token authenticatable
|
48
|
-
# field :authentication_token, :type => String
|
49
|
-
|
50
|
-
#has_and_belongs_to_many :roles
|
6
|
+
devise :database_authenticatable, :registerable,
|
7
|
+
:recoverable, :rememberable, :trackable, :validatable
|
51
8
|
|
9
|
+
# Setup accessible (or protected) attributes for your model
|
10
|
+
attr_accessible :email, :password, :password_confirmation, :remember_me
|
11
|
+
# attr_accessible :title, :body
|
52
12
|
end
|
@@ -13,7 +13,7 @@ Devise.setup do |config|
|
|
13
13
|
# Load and configure the ORM. Supports :active_record (default) and
|
14
14
|
# :mongoid (bson_ext recommended) by default. Other ORMs may be
|
15
15
|
# available as additional gems.
|
16
|
-
require 'devise/orm/
|
16
|
+
require 'devise/orm/active_record'
|
17
17
|
|
18
18
|
# ==> Configuration for any authentication mechanism
|
19
19
|
# Configure which keys are used when authenticating a user. The default is
|
@@ -82,7 +82,7 @@ Devise.setup do |config|
|
|
82
82
|
config.stretches = Rails.env.test? ? 1 : 10
|
83
83
|
|
84
84
|
# Setup a pepper to generate the encrypted password.
|
85
|
-
# config.pepper = "
|
85
|
+
# config.pepper = "5b046673f47fe250ab1561959eee00d884aff9d4e240994d83d0bcc1d6812cfb92a4a8fd6d69f8c00ffa55a03e57b732e0510137b1a585636ccea778ed19df68"
|
86
86
|
|
87
87
|
# ==> Configuration for :confirmable
|
88
88
|
# A period that the user is allowed to access the website even without
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Rolify.configure do |config|
|
2
2
|
# By default ORM adapter is ActiveRecord. uncomment to use mongoid
|
3
|
-
config.use_mongoid
|
3
|
+
# config.use_mongoid
|
4
4
|
|
5
5
|
# Dynamic shortcuts for User class (user.is_admin? like methods). Default is: false
|
6
6
|
# Enable this feature _after_ running rake db:migrate as it relies on the roles table
|
data/config/routes.rb
CHANGED
@@ -0,0 +1,46 @@
|
|
1
|
+
class DeviseCreateUsers < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table(:users) do |t|
|
4
|
+
## Database authenticatable
|
5
|
+
t.string :email, :null => false, :default => ""
|
6
|
+
t.string :encrypted_password, :null => false, :default => ""
|
7
|
+
|
8
|
+
## Recoverable
|
9
|
+
t.string :reset_password_token
|
10
|
+
t.datetime :reset_password_sent_at
|
11
|
+
|
12
|
+
## Rememberable
|
13
|
+
t.datetime :remember_created_at
|
14
|
+
|
15
|
+
## Trackable
|
16
|
+
t.integer :sign_in_count, :default => 0
|
17
|
+
t.datetime :current_sign_in_at
|
18
|
+
t.datetime :last_sign_in_at
|
19
|
+
t.string :current_sign_in_ip
|
20
|
+
t.string :last_sign_in_ip
|
21
|
+
|
22
|
+
## Confirmable
|
23
|
+
# t.string :confirmation_token
|
24
|
+
# t.datetime :confirmed_at
|
25
|
+
# t.datetime :confirmation_sent_at
|
26
|
+
# t.string :unconfirmed_email # Only if using reconfirmable
|
27
|
+
|
28
|
+
## Lockable
|
29
|
+
# t.integer :failed_attempts, :default => 0 # Only if lock strategy is :failed_attempts
|
30
|
+
# t.string :unlock_token # Only if unlock strategy is :email or :both
|
31
|
+
# t.datetime :locked_at
|
32
|
+
|
33
|
+
## Token authenticatable
|
34
|
+
# t.string :authentication_token
|
35
|
+
|
36
|
+
|
37
|
+
t.timestamps
|
38
|
+
end
|
39
|
+
|
40
|
+
add_index :users, :email, :unique => true
|
41
|
+
add_index :users, :reset_password_token, :unique => true
|
42
|
+
# add_index :users, :confirmation_token, :unique => true
|
43
|
+
# add_index :users, :unlock_token, :unique => true
|
44
|
+
# add_index :users, :authentication_token, :unique => true
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
class RolifyCreateRoles < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table(:roles) do |t|
|
4
|
+
t.string :name
|
5
|
+
t.references :resource, :polymorphic => true
|
6
|
+
|
7
|
+
t.timestamps
|
8
|
+
end
|
9
|
+
|
10
|
+
create_table(:users_roles, :id => false) do |t|
|
11
|
+
t.references :user
|
12
|
+
t.references :role
|
13
|
+
end
|
14
|
+
|
15
|
+
add_index(:roles, :name)
|
16
|
+
add_index(:roles, [ :name, :resource_type, :resource_id ])
|
17
|
+
add_index(:users_roles, [ :user_id, :role_id ])
|
18
|
+
end
|
19
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mix-rails-auth
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.23.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-02-
|
13
|
+
date: 2013-02-08 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rails
|
@@ -91,6 +91,8 @@ files:
|
|
91
91
|
- config/initializers/rolify.rb
|
92
92
|
- config/initializers/devise.rb
|
93
93
|
- config/routes.rb
|
94
|
+
- db/migrate/20130206200717_rolify_create_roles.rb
|
95
|
+
- db/migrate/20130206200605_devise_create_users.rb
|
94
96
|
- lib/tasks/auth_tasks.rake
|
95
97
|
- lib/mix-rails-auth.rb
|
96
98
|
- lib/mix-rails-auth/version.rb
|
@@ -112,7 +114,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
112
114
|
version: '0'
|
113
115
|
segments:
|
114
116
|
- 0
|
115
|
-
hash:
|
117
|
+
hash: 443201105873542527
|
116
118
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
117
119
|
none: false
|
118
120
|
requirements:
|
@@ -121,7 +123,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
121
123
|
version: '0'
|
122
124
|
segments:
|
123
125
|
- 0
|
124
|
-
hash:
|
126
|
+
hash: 443201105873542527
|
125
127
|
requirements: []
|
126
128
|
rubyforge_project:
|
127
129
|
rubygems_version: 1.8.24
|