the_role 1.6.4 → 1.6.5

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.md CHANGED
@@ -1,4 +1,4 @@
1
- # gem 'the_role' (alpha v0.2)
1
+ # gem 'the_role' (alpha v0.2)
2
2
 
3
3
  | Bye bye CanCan, I got The Role! | Description |
4
4
  |:------------- |:-------------|
@@ -6,7 +6,7 @@
6
6
 
7
7
  ### GUI
8
8
 
9
- | TheRole management web interface |
9
+ | TheRole management web interface => localhost:3000/admin/roles |
10
10
  |:-------------:|
11
11
  |![TheRole](https://github.com/the-teacher/the_role/raw/master/pic.png)|
12
12
 
@@ -132,35 +132,33 @@ rake db:roles:test
132
132
 
133
133
  #### Change your ApplicationController
134
134
 
135
- **Example for Devise2**
135
+ Define aliases method for correctly work TheRole's controllers
136
136
 
137
137
  ``` ruby
138
138
  class ApplicationController < ActionController::Base
139
- include TheRole::Requires
140
-
141
139
  protect_from_forgery
142
140
 
143
141
  def access_denied
144
142
  render :text => 'access_denied: requires an role' and return
145
143
  end
146
144
 
147
- alias_method :login_required, :authenticate_user!
145
+ alias_method :login_required, :YOUR_AUTH_SYSTEM_LOGIN_REQUIRE_METHOD
148
146
  alias_method :role_access_denied, :access_denied
149
147
  end
150
148
  ```
151
149
 
152
- Define aliases method for correctly work TheRole's controllers
153
-
154
- **authenticate_user!** or any other method from your auth system
155
-
156
150
  **access_denied** or any other method for processing access denied situation
157
151
 
152
+ #### YOUR_AUTH_SYSTEM_LOGIN_REQUIRE_METHOD!
153
+
154
+ * **authenticate_user!** - method for Devise 2
155
+ * **require_login** - method for Sorcery
156
+ * **some_method** - from your Auth system
158
157
 
159
158
  #### Using with any controller
160
159
 
161
160
  ``` ruby
162
161
  class PagesController < ApplicationController
163
- # Devise2 and TheRole before_filters
164
162
  before_filter :login_required, :except => [:index, :show]
165
163
  before_filter :role_required, :except => [:index, :show]
166
164
 
@@ -326,6 +324,12 @@ current_user.owner?(@article) => true | false
326
324
 
327
325
  # JSON string
328
326
  @role.to_s => String
327
+
328
+ # check method
329
+ @role.has_section?(:pages) => true | false
330
+
331
+ # check method
332
+ @role.has_rule?(:pages, :index) => true | false
329
333
  ```
330
334
 
331
335
  #### UPDATE
@@ -366,6 +370,7 @@ new_role_hash = {
366
370
 
367
371
  ### Changelog
368
372
 
373
+ * 1.6.5 - has_section?, fixes, tests (alpha 0.3)
369
374
  * 1.6.4 - En locale (alpha 0.2)
370
375
  * 1.6.3 - notifications
371
376
  * 1.6.0 - stabile release (alpha 0.1)
@@ -1,5 +1,12 @@
1
1
  module TheRole
2
2
  module Base
3
+ def has_section? section_name
4
+ hash = role_hash
5
+ section_name = param_prepare section_name
6
+ return true if hash[section_name]
7
+ false
8
+ end
9
+
3
10
  def has_role? section_name, rule_name
4
11
  hash = role_hash
5
12
  section_name = param_prepare(section_name)
@@ -38,6 +38,7 @@ module TheRole
38
38
  end
39
39
 
40
40
  def create_rule section_name, rule_name
41
+ return false if rule_name.blank?
41
42
  return false unless create_section(section_name)
42
43
  role = to_hash
43
44
  rule_name = param_prepare(rule_name)
@@ -1,3 +1,3 @@
1
1
  module TheRole
2
- VERSION = "1.6.4"
2
+ VERSION = "1.6.5"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: the_role
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.4
4
+ version: 1.6.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-07-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: haml
16
- requirement: &15825160 !ruby/object:Gem::Requirement
16
+ requirement: &16274880 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *15825160
24
+ version_requirements: *16274880
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: sass
27
- requirement: &15824720 !ruby/object:Gem::Requirement
27
+ requirement: &16274440 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *15824720
35
+ version_requirements: *16274440
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: sass-rails
38
- requirement: &15824280 !ruby/object:Gem::Requirement
38
+ requirement: &16274000 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *15824280
46
+ version_requirements: *16274000
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: coffee-rails
49
- requirement: &15823820 !ruby/object:Gem::Requirement
49
+ requirement: &16273540 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *15823820
57
+ version_requirements: *16273540
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: therubyracer
60
- requirement: &15823380 !ruby/object:Gem::Requirement
60
+ requirement: &16273060 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *15823380
68
+ version_requirements: *16273060
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: less-rails
71
- requirement: &15822820 !ruby/object:Gem::Requirement
71
+ requirement: &16272540 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: '0'
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *15822820
79
+ version_requirements: *16272540
80
80
  description: Authorization lib for Rails 3 with Web Interface, aka CanCan killer
81
81
  email:
82
82
  - zykin-ilya@ya.ru