the_role 2.0.4 → 2.1.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.
- checksums.yaml +7 -0
- data/.travis.yml +1 -1
- data/app/models/concerns/role_model.rb +1 -0
- data/app/models/concerns/the_role_base.rb +5 -0
- data/lib/generators/the_role/USAGE +10 -7
- data/lib/tasks/roles.rake +35 -11
- data/lib/the_role/version.rb +1 -1
- metadata +11 -10
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: d1fe7a9a634b09aac64fa6ee91b0508785b9586d
|
4
|
+
data.tar.gz: a07bb7473cd3f2023f8ba2642345c1fda8c95c61
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: d9dd558bf8605e39cfb74d0aedc35bf737c8da9d8b6ec5a21b1190e1ca52011551137e0d14ae4d8b503f89aae926ed6d1f344969acd361ca292b3be045d0ffb4
|
7
|
+
data.tar.gz: a9c9c751e67ce55f69af149fafafdb17bd26a63d1c92b72e2cc3adf867cab416961b7be0fad7e7f98e2158891430264929258b96e63a39681b6c228c7a94ea9a
|
data/.travis.yml
CHANGED
@@ -2,4 +2,4 @@ language: ruby
|
|
2
2
|
rvm:
|
3
3
|
- 1.9.3
|
4
4
|
gemfile: spec/the_role_on_devise/Gemfile
|
5
|
-
script: "cd spec/the_role_on_devise &&
|
5
|
+
script: "cd spec/the_role_on_devise && rake db:bootstrap RAILS_ENV=test && rspec --format documentation"
|
@@ -19,6 +19,11 @@ module TheRoleBase
|
|
19
19
|
hash[section_name][rule_name]
|
20
20
|
end
|
21
21
|
|
22
|
+
def any_role? roles_hash = {}
|
23
|
+
roles_hash.each_pair{|section, action| return true if has_role?(section, action)}
|
24
|
+
false
|
25
|
+
end
|
26
|
+
|
22
27
|
def moderator? section_name
|
23
28
|
section_name = TheRoleParam.process(section_name)
|
24
29
|
has_role? section_name, 'any_crazy_name'
|
@@ -6,24 +6,27 @@ Description:
|
|
6
6
|
This generators helps to install TheRole gem into your Application
|
7
7
|
|
8
8
|
This text:
|
9
|
-
bundle exec rails g the_role --help
|
9
|
+
> bundle exec rails g the_role --help
|
10
10
|
|
11
11
|
Generators:
|
12
|
-
bundle exec rails g the_role install
|
12
|
+
> bundle exec rails g the_role install
|
13
13
|
- Install config file and models
|
14
14
|
|
15
|
-
bundle exec rails g the_role setup
|
15
|
+
> bundle exec rails g the_role setup
|
16
16
|
- Install config file
|
17
17
|
|
18
|
-
bundle exec rails g the_role models
|
18
|
+
> bundle exec rails g the_role models
|
19
19
|
- Install models
|
20
20
|
|
21
|
-
bundle exec rails g the_role admin
|
21
|
+
> bundle exec rails g the_role admin
|
22
|
+
- Create Admin Role
|
23
|
+
|
24
|
+
> rake db:roles:admin
|
22
25
|
- Create Admin Role
|
23
26
|
|
24
27
|
Migrations:
|
25
|
-
bundle exec rake the_role_engine:install:migrations
|
28
|
+
> bundle exec rake the_role_engine:install:migrations
|
26
29
|
|
27
30
|
---------------------------------------
|
28
|
-
TheRole
|
31
|
+
~ TheRole
|
29
32
|
---------------------------------------
|
data/lib/tasks/roles.rake
CHANGED
@@ -1,23 +1,47 @@
|
|
1
1
|
namespace :db do
|
2
2
|
namespace :roles do
|
3
|
+
# rake db:roles:admin
|
4
|
+
desc 'create Admin Role'
|
5
|
+
task :admin => :environment do
|
6
|
+
puts `clear`
|
7
|
+
puts '~'*40
|
8
|
+
puts 'TheRole'
|
9
|
+
puts '~'*40
|
10
|
+
|
11
|
+
unless Role.with_name(:admin)
|
12
|
+
role = Role.create(
|
13
|
+
name: :admin,
|
14
|
+
title: "Role for admin",
|
15
|
+
description:"This user can do anything"
|
16
|
+
)
|
17
|
+
|
18
|
+
role.create_rule(:system, :administrator)
|
19
|
+
role.rule_on(:system, :administrator)
|
20
|
+
|
21
|
+
puts "Admin role created"
|
22
|
+
else
|
23
|
+
puts "Admin role exists"
|
24
|
+
end
|
25
|
+
|
26
|
+
puts "Now you can makes any user as Admin:"
|
27
|
+
puts "> rails c"
|
28
|
+
puts "> User.first.update( role: Role.with_name(:admin) )"
|
29
|
+
puts '~'*40
|
30
|
+
end
|
3
31
|
|
4
32
|
# rake db:roles:test
|
5
33
|
desc 'create roles'
|
6
34
|
task :test => :environment do
|
7
35
|
# ADMIN
|
8
|
-
role =
|
9
|
-
:
|
10
|
-
|
11
|
-
|
12
|
-
}
|
13
|
-
|
14
|
-
Role.create!(
|
15
|
-
:name => :admin,
|
16
|
-
:title => 'Administrator',
|
17
|
-
:description => 'Role for administrator',
|
18
|
-
:the_role => role.to_json
|
36
|
+
role = Role.create(
|
37
|
+
name: :admin,
|
38
|
+
title: "Role for admin",
|
39
|
+
description:"This user can do anything"
|
19
40
|
)
|
20
41
|
|
42
|
+
role.create_rule(:system, :administrator)
|
43
|
+
role.rule_on(:system, :administrator)
|
44
|
+
|
21
45
|
puts 'Administrator'
|
22
46
|
|
23
47
|
# MODERATOR
|
data/lib/the_role/version.rb
CHANGED
metadata
CHANGED
@@ -1,27 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: the_role
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0
|
5
|
-
prerelease:
|
4
|
+
version: 2.1.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Ilya N. Zykin [the-teacher]
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-08-01 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: haml
|
16
|
-
requirement:
|
17
|
-
none: false
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
17
|
- - ! '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
|
-
version_requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ! '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
25
27
|
description: Authorization for Rails 4 with Web Interface
|
26
28
|
email:
|
27
29
|
- zykin-ilya@ya.ru
|
@@ -70,26 +72,25 @@ files:
|
|
70
72
|
- the_role.gemspec
|
71
73
|
homepage: https://github.com/the-teacher/the_role
|
72
74
|
licenses: []
|
75
|
+
metadata: {}
|
73
76
|
post_install_message:
|
74
77
|
rdoc_options: []
|
75
78
|
require_paths:
|
76
79
|
- lib
|
77
80
|
required_ruby_version: !ruby/object:Gem::Requirement
|
78
|
-
none: false
|
79
81
|
requirements:
|
80
82
|
- - ! '>='
|
81
83
|
- !ruby/object:Gem::Version
|
82
84
|
version: '0'
|
83
85
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
84
|
-
none: false
|
85
86
|
requirements:
|
86
87
|
- - ! '>='
|
87
88
|
- !ruby/object:Gem::Version
|
88
89
|
version: '0'
|
89
90
|
requirements: []
|
90
91
|
rubyforge_project: the_role
|
91
|
-
rubygems_version:
|
92
|
+
rubygems_version: 2.0.5
|
92
93
|
signing_key:
|
93
|
-
specification_version:
|
94
|
+
specification_version: 4
|
94
95
|
summary: Authorization for Rails 4
|
95
96
|
test_files: []
|