the_role 2.5.4 → 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 (126) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +178 -526
  3. data/gem_version.rb +3 -0
  4. data/lib/the_role/version.rb +1 -3
  5. data/lib/the_role.rb +3 -41
  6. data/the_role.gemspec +5 -5
  7. metadata +20 -231
  8. data/.ruby-gemset.example +0 -1
  9. data/.ruby-version.example +0 -1
  10. data/.rvmrc.example +0 -1
  11. data/.travis.yml +0 -5
  12. data/Bye_bye_CanCan_I_got_the_Role.png +0 -0
  13. data/app/controllers/admin/role_sections_controller.rb +0 -90
  14. data/app/controllers/admin/roles_controller.rb +0 -74
  15. data/app/controllers/concerns/controller.rb +0 -23
  16. data/app/models/_templates_/role.rb +0 -3
  17. data/app/models/concerns/base.rb +0 -37
  18. data/app/models/concerns/role.rb +0 -156
  19. data/app/models/concerns/user.rb +0 -57
  20. data/config/locales/en.yml +0 -44
  21. data/config/locales/es.yml +0 -42
  22. data/config/locales/nl.yml +0 -44
  23. data/config/locales/pl.yml +0 -43
  24. data/config/locales/pt_BR.yml +0 -43
  25. data/config/locales/ru.yml +0 -43
  26. data/config/locales/zh_CN.yml +0 -42
  27. data/config/routes.rb +0 -23
  28. data/db/migrate/20111025025129_create_roles.rb +0 -23
  29. data/docs/2.1.1.png +0 -0
  30. data/lib/generators/the_role/USAGE +0 -32
  31. data/lib/generators/the_role/templates/the_role.rb +0 -11
  32. data/lib/generators/the_role/the_role_generator.rb +0 -64
  33. data/lib/tasks/roles.rake +0 -137
  34. data/lib/the_role/activerecord.rb +0 -11
  35. data/lib/the_role/config.rb +0 -30
  36. data/lib/the_role/hash.rb +0 -58
  37. data/lib/the_role/the_class_exists.rb +0 -8
  38. data/pic.png +0 -0
  39. data/spec/dummy_app/.gitignore +0 -18
  40. data/spec/dummy_app/.rspec +0 -1
  41. data/spec/dummy_app/Gemfile +0 -43
  42. data/spec/dummy_app/README.md +0 -39
  43. data/spec/dummy_app/Rakefile +0 -6
  44. data/spec/dummy_app/app/assets/images/.keep +0 -0
  45. data/spec/dummy_app/app/assets/javascripts/application.js +0 -17
  46. data/spec/dummy_app/app/assets/stylesheets/app/style.css.scss +0 -23
  47. data/spec/dummy_app/app/assets/stylesheets/application.css +0 -3
  48. data/spec/dummy_app/app/controllers/application_controller.rb +0 -38
  49. data/spec/dummy_app/app/controllers/concerns/.keep +0 -0
  50. data/spec/dummy_app/app/controllers/pages_controller.rb +0 -75
  51. data/spec/dummy_app/app/controllers/users_controller.rb +0 -32
  52. data/spec/dummy_app/app/controllers/welcome_controller.rb +0 -13
  53. data/spec/dummy_app/app/helpers/application_helper.rb +0 -2
  54. data/spec/dummy_app/app/mailers/.keep +0 -0
  55. data/spec/dummy_app/app/models/.keep +0 -0
  56. data/spec/dummy_app/app/models/concerns/.keep +0 -0
  57. data/spec/dummy_app/app/models/page.rb +0 -24
  58. data/spec/dummy_app/app/models/role.rb +0 -4
  59. data/spec/dummy_app/app/models/user.rb +0 -21
  60. data/spec/dummy_app/app/views/layouts/_current_user_info.html.haml +0 -17
  61. data/spec/dummy_app/app/views/layouts/application.html.haml +0 -68
  62. data/spec/dummy_app/app/views/pages/_form.html.haml +0 -19
  63. data/spec/dummy_app/app/views/pages/edit.html.haml +0 -7
  64. data/spec/dummy_app/app/views/pages/index.html.haml +0 -27
  65. data/spec/dummy_app/app/views/pages/manage.html.haml +0 -23
  66. data/spec/dummy_app/app/views/pages/my.html.haml +0 -10
  67. data/spec/dummy_app/app/views/pages/new.html.haml +0 -5
  68. data/spec/dummy_app/app/views/pages/show.html.haml +0 -15
  69. data/spec/dummy_app/app/views/users/edit.html.haml +0 -34
  70. data/spec/dummy_app/app/views/welcome/index.html.haml +0 -38
  71. data/spec/dummy_app/app/views/welcome/profile.html.haml +0 -2
  72. data/spec/dummy_app/bin/bundle +0 -3
  73. data/spec/dummy_app/bin/rails +0 -4
  74. data/spec/dummy_app/bin/rake +0 -4
  75. data/spec/dummy_app/config/application.rb +0 -25
  76. data/spec/dummy_app/config/boot.rb +0 -4
  77. data/spec/dummy_app/config/database.yml +0 -17
  78. data/spec/dummy_app/config/environment.rb +0 -5
  79. data/spec/dummy_app/config/environments/development.rb +0 -29
  80. data/spec/dummy_app/config/environments/production.rb +0 -80
  81. data/spec/dummy_app/config/environments/test.rb +0 -36
  82. data/spec/dummy_app/config/initializers/backtrace_silencers.rb +0 -7
  83. data/spec/dummy_app/config/initializers/devise.rb +0 -227
  84. data/spec/dummy_app/config/initializers/filter_parameter_logging.rb +0 -4
  85. data/spec/dummy_app/config/initializers/inflections.rb +0 -16
  86. data/spec/dummy_app/config/initializers/mime_types.rb +0 -5
  87. data/spec/dummy_app/config/initializers/secret_token.rb +0 -12
  88. data/spec/dummy_app/config/initializers/session_store.rb +0 -3
  89. data/spec/dummy_app/config/initializers/the_role.rb +0 -6
  90. data/spec/dummy_app/config/initializers/wrap_parameters.rb +0 -14
  91. data/spec/dummy_app/config/locales/devise.en.yml +0 -57
  92. data/spec/dummy_app/config/locales/en.yml +0 -7
  93. data/spec/dummy_app/config/locales/ru.yml +0 -4
  94. data/spec/dummy_app/config/routes.rb +0 -26
  95. data/spec/dummy_app/config.ru +0 -4
  96. data/spec/dummy_app/db/migrate/20120212061952_devise_create_users.rb +0 -63
  97. data/spec/dummy_app/db/migrate/20120212063249_create_roles.rb +0 -18
  98. data/spec/dummy_app/db/migrate/20120314061307_create_pages.rb +0 -14
  99. data/spec/dummy_app/db/schema.rb +0 -59
  100. data/spec/dummy_app/db/seeds.rb +0 -85
  101. data/spec/dummy_app/lib/assets/.keep +0 -0
  102. data/spec/dummy_app/lib/tasks/.keep +0 -0
  103. data/spec/dummy_app/lib/tasks/assets.rake +0 -15
  104. data/spec/dummy_app/lib/tasks/db_bootstrap.rake +0 -16
  105. data/spec/dummy_app/log/.keep +0 -0
  106. data/spec/dummy_app/public/404.html +0 -58
  107. data/spec/dummy_app/public/422.html +0 -58
  108. data/spec/dummy_app/public/500.html +0 -57
  109. data/spec/dummy_app/public/favicon.ico +0 -0
  110. data/spec/dummy_app/public/robots.txt +0 -5
  111. data/spec/dummy_app/spec/controllers/admin_roles_controller_spec.rb +0 -52
  112. data/spec/dummy_app/spec/controllers/pages_controller_spec.rb +0 -141
  113. data/spec/dummy_app/spec/controllers/welcome_controller_spec.rb +0 -66
  114. data/spec/dummy_app/spec/factories/page.rb +0 -6
  115. data/spec/dummy_app/spec/factories/role.rb +0 -55
  116. data/spec/dummy_app/spec/factories/user.rb +0 -11
  117. data/spec/dummy_app/spec/models/hash_spec.rb +0 -272
  118. data/spec/dummy_app/spec/models/param_process_spec.rb +0 -39
  119. data/spec/dummy_app/spec/models/role_spec.rb +0 -218
  120. data/spec/dummy_app/spec/models/user_spec.rb +0 -164
  121. data/spec/dummy_app/spec/routing/admin_roles_routing_spec.rb +0 -41
  122. data/spec/dummy_app/spec/routing/pages_routing_spec.rb +0 -35
  123. data/spec/dummy_app/spec/spec_helper.rb +0 -68
  124. data/spec/dummy_app/vendor/assets/javascripts/.keep +0 -0
  125. data/spec/dummy_app/vendor/assets/stylesheets/.keep +0 -0
  126. data/the_role.yml.teamocil.example +0 -11
data/gem_version.rb ADDED
@@ -0,0 +1,3 @@
1
+ module TheRole
2
+ VERSION = "3.0.0"
3
+ end
@@ -1,3 +1 @@
1
- module TheRole
2
- VERSION = "2.5.4"
3
- end
1
+ require_relative '../../gem_version'
data/lib/the_role.rb CHANGED
@@ -1,44 +1,6 @@
1
- require 'the_role/hash'
2
- require 'the_role/config'
3
1
  require 'the_role/version'
4
- require 'the_role/activerecord'
5
2
 
6
- require 'the_string_to_slug'
3
+ require 'the_role_api'
4
+ require 'the_role_management_panel'
7
5
 
8
- module TheRole
9
- class << self
10
- def create_admin_role!
11
- admin_role = ::Role.where(name: :admin).first_or_create!(
12
- name: :admin,
13
- title: "Role for admin",
14
- description: "This user can do anything"
15
- )
16
- admin_role.create_rule(:system, :administrator)
17
- admin_role.rule_on(:system, :administrator)
18
- admin_role
19
- end
20
- end
21
-
22
- class Engine < Rails::Engine
23
- # initializer "TheRole precompile hook", group: :all do |app|
24
- # app.config.assets.precompile += %w( x.js y.css )
25
- # end
26
-
27
- # http://stackoverflow.com/questions/6279325/adding-to-rails-autoload-path-from-gem
28
- # config.to_prepare do; end
29
- end
30
- end
31
-
32
- _root_ = File.expand_path('../../', __FILE__)
33
-
34
- # Loading of concerns
35
- require "#{_root_}/config/routes.rb"
36
- require "#{_root_}/app/controllers/concerns/controller.rb"
37
-
38
- %w[ base role user ].each do |concern|
39
- require "#{_root_}/app/models/concerns/#{concern}.rb"
40
- end
41
-
42
- if defined?(ActiveRecord::Base)
43
- ActiveRecord::Base.extend TheRole::ActiveRecord
44
- end
6
+ module TheRole; end
data/the_role.gemspec CHANGED
@@ -8,8 +8,8 @@ Gem::Specification.new do |s|
8
8
  s.authors = ["Ilya N. Zykin [the-teacher]"]
9
9
  s.email = ["zykin-ilya@ya.ru"]
10
10
  s.homepage = "https://github.com/the-teacher/the_role"
11
- s.summary = %q{Authorization for Rails 4}
12
- s.description = %q{Authorization for Rails 4 with Web Interface}
11
+ s.summary = %q{Authorization for Rails}
12
+ s.description = %q{Authorization gem for Ruby on Rails with Management Panel}
13
13
 
14
14
  s.rubyforge_project = "the_role"
15
15
 
@@ -18,6 +18,6 @@ Gem::Specification.new do |s|
18
18
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
19
  s.require_paths = ["lib"]
20
20
 
21
- s.add_dependency 'the_string_to_slug', '~> 1.2'
22
- s.add_runtime_dependency 'rails', ['>= 3', '< 5']
23
- end
21
+ s.add_runtime_dependency 'the_role_api', '~> 3.0.1'
22
+ s.add_runtime_dependency 'the_role_management_panel', '~> 3.0.1'
23
+ end
metadata CHANGED
@@ -1,182 +1,58 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: the_role
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.4
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ilya N. Zykin [the-teacher]
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-31 00:00:00.000000000 Z
11
+ date: 2015-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: the_string_to_slug
14
+ name: the_role_api
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.2'
19
+ version: 3.0.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.2'
26
+ version: 3.0.1
27
27
  - !ruby/object:Gem::Dependency
28
- name: rails
28
+ name: the_role_management_panel
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '3'
34
- - - <
35
- - !ruby/object:Gem::Version
36
- version: '5'
33
+ version: 3.0.1
37
34
  type: :runtime
38
35
  prerelease: false
39
36
  version_requirements: !ruby/object:Gem::Requirement
40
37
  requirements:
41
- - - '>='
42
- - !ruby/object:Gem::Version
43
- version: '3'
44
- - - <
38
+ - - "~>"
45
39
  - !ruby/object:Gem::Version
46
- version: '5'
47
- description: Authorization for Rails 4 with Web Interface
40
+ version: 3.0.1
41
+ description: Authorization gem for Ruby on Rails with Management Panel
48
42
  email:
49
43
  - zykin-ilya@ya.ru
50
44
  executables: []
51
45
  extensions: []
52
46
  extra_rdoc_files: []
53
47
  files:
54
- - .gitignore
55
- - .ruby-gemset.example
56
- - .ruby-version.example
57
- - .rvmrc.example
58
- - .travis.yml
59
- - Bye_bye_CanCan_I_got_the_Role.png
48
+ - ".gitignore"
60
49
  - Gemfile
61
50
  - README.md
62
51
  - Rakefile
63
- - app/controllers/admin/role_sections_controller.rb
64
- - app/controllers/admin/roles_controller.rb
65
- - app/controllers/concerns/controller.rb
66
- - app/models/_templates_/role.rb
67
- - app/models/concerns/base.rb
68
- - app/models/concerns/role.rb
69
- - app/models/concerns/user.rb
70
- - config/locales/en.yml
71
- - config/locales/es.yml
72
- - config/locales/nl.yml
73
- - config/locales/pl.yml
74
- - config/locales/pt_BR.yml
75
- - config/locales/ru.yml
76
- - config/locales/zh_CN.yml
77
- - config/routes.rb
78
- - db/migrate/20111025025129_create_roles.rb
79
- - docs/2.1.1.png
80
- - lib/generators/the_role/USAGE
81
- - lib/generators/the_role/templates/the_role.rb
82
- - lib/generators/the_role/the_role_generator.rb
83
- - lib/tasks/roles.rake
52
+ - gem_version.rb
84
53
  - lib/the_role.rb
85
- - lib/the_role/activerecord.rb
86
- - lib/the_role/config.rb
87
- - lib/the_role/hash.rb
88
- - lib/the_role/the_class_exists.rb
89
54
  - lib/the_role/version.rb
90
- - pic.png
91
55
  - the_role.gemspec
92
- - the_role.yml.teamocil.example
93
- - spec/dummy_app/.gitignore
94
- - spec/dummy_app/.rspec
95
- - spec/dummy_app/Gemfile
96
- - spec/dummy_app/README.md
97
- - spec/dummy_app/Rakefile
98
- - spec/dummy_app/app/assets/images/.keep
99
- - spec/dummy_app/app/assets/javascripts/application.js
100
- - spec/dummy_app/app/assets/stylesheets/app/style.css.scss
101
- - spec/dummy_app/app/assets/stylesheets/application.css
102
- - spec/dummy_app/app/controllers/application_controller.rb
103
- - spec/dummy_app/app/controllers/concerns/.keep
104
- - spec/dummy_app/app/controllers/pages_controller.rb
105
- - spec/dummy_app/app/controllers/users_controller.rb
106
- - spec/dummy_app/app/controllers/welcome_controller.rb
107
- - spec/dummy_app/app/helpers/application_helper.rb
108
- - spec/dummy_app/app/mailers/.keep
109
- - spec/dummy_app/app/models/.keep
110
- - spec/dummy_app/app/models/concerns/.keep
111
- - spec/dummy_app/app/models/page.rb
112
- - spec/dummy_app/app/models/role.rb
113
- - spec/dummy_app/app/models/user.rb
114
- - spec/dummy_app/app/views/layouts/_current_user_info.html.haml
115
- - spec/dummy_app/app/views/layouts/application.html.haml
116
- - spec/dummy_app/app/views/pages/_form.html.haml
117
- - spec/dummy_app/app/views/pages/edit.html.haml
118
- - spec/dummy_app/app/views/pages/index.html.haml
119
- - spec/dummy_app/app/views/pages/manage.html.haml
120
- - spec/dummy_app/app/views/pages/my.html.haml
121
- - spec/dummy_app/app/views/pages/new.html.haml
122
- - spec/dummy_app/app/views/pages/show.html.haml
123
- - spec/dummy_app/app/views/users/edit.html.haml
124
- - spec/dummy_app/app/views/welcome/index.html.haml
125
- - spec/dummy_app/app/views/welcome/profile.html.haml
126
- - spec/dummy_app/bin/bundle
127
- - spec/dummy_app/bin/rails
128
- - spec/dummy_app/bin/rake
129
- - spec/dummy_app/config.ru
130
- - spec/dummy_app/config/application.rb
131
- - spec/dummy_app/config/boot.rb
132
- - spec/dummy_app/config/database.yml
133
- - spec/dummy_app/config/environment.rb
134
- - spec/dummy_app/config/environments/development.rb
135
- - spec/dummy_app/config/environments/production.rb
136
- - spec/dummy_app/config/environments/test.rb
137
- - spec/dummy_app/config/initializers/backtrace_silencers.rb
138
- - spec/dummy_app/config/initializers/devise.rb
139
- - spec/dummy_app/config/initializers/filter_parameter_logging.rb
140
- - spec/dummy_app/config/initializers/inflections.rb
141
- - spec/dummy_app/config/initializers/mime_types.rb
142
- - spec/dummy_app/config/initializers/secret_token.rb
143
- - spec/dummy_app/config/initializers/session_store.rb
144
- - spec/dummy_app/config/initializers/the_role.rb
145
- - spec/dummy_app/config/initializers/wrap_parameters.rb
146
- - spec/dummy_app/config/locales/devise.en.yml
147
- - spec/dummy_app/config/locales/en.yml
148
- - spec/dummy_app/config/locales/ru.yml
149
- - spec/dummy_app/config/routes.rb
150
- - spec/dummy_app/db/migrate/20120212061952_devise_create_users.rb
151
- - spec/dummy_app/db/migrate/20120212063249_create_roles.rb
152
- - spec/dummy_app/db/migrate/20120314061307_create_pages.rb
153
- - spec/dummy_app/db/schema.rb
154
- - spec/dummy_app/db/seeds.rb
155
- - spec/dummy_app/lib/assets/.keep
156
- - spec/dummy_app/lib/tasks/.keep
157
- - spec/dummy_app/lib/tasks/assets.rake
158
- - spec/dummy_app/lib/tasks/db_bootstrap.rake
159
- - spec/dummy_app/log/.keep
160
- - spec/dummy_app/public/404.html
161
- - spec/dummy_app/public/422.html
162
- - spec/dummy_app/public/500.html
163
- - spec/dummy_app/public/favicon.ico
164
- - spec/dummy_app/public/robots.txt
165
- - spec/dummy_app/spec/controllers/admin_roles_controller_spec.rb
166
- - spec/dummy_app/spec/controllers/pages_controller_spec.rb
167
- - spec/dummy_app/spec/controllers/welcome_controller_spec.rb
168
- - spec/dummy_app/spec/factories/page.rb
169
- - spec/dummy_app/spec/factories/role.rb
170
- - spec/dummy_app/spec/factories/user.rb
171
- - spec/dummy_app/spec/models/hash_spec.rb
172
- - spec/dummy_app/spec/models/param_process_spec.rb
173
- - spec/dummy_app/spec/models/role_spec.rb
174
- - spec/dummy_app/spec/models/user_spec.rb
175
- - spec/dummy_app/spec/routing/admin_roles_routing_spec.rb
176
- - spec/dummy_app/spec/routing/pages_routing_spec.rb
177
- - spec/dummy_app/spec/spec_helper.rb
178
- - spec/dummy_app/vendor/assets/javascripts/.keep
179
- - spec/dummy_app/vendor/assets/stylesheets/.keep
180
56
  homepage: https://github.com/the-teacher/the_role
181
57
  licenses: []
182
58
  metadata: {}
@@ -186,105 +62,18 @@ require_paths:
186
62
  - lib
187
63
  required_ruby_version: !ruby/object:Gem::Requirement
188
64
  requirements:
189
- - - '>='
65
+ - - ">="
190
66
  - !ruby/object:Gem::Version
191
67
  version: '0'
192
68
  required_rubygems_version: !ruby/object:Gem::Requirement
193
69
  requirements:
194
- - - '>='
70
+ - - ">="
195
71
  - !ruby/object:Gem::Version
196
72
  version: '0'
197
73
  requirements: []
198
74
  rubyforge_project: the_role
199
- rubygems_version: 2.1.11
75
+ rubygems_version: 2.2.2
200
76
  signing_key:
201
77
  specification_version: 4
202
- summary: Authorization for Rails 4
203
- test_files:
204
- - spec/dummy_app/.gitignore
205
- - spec/dummy_app/.rspec
206
- - spec/dummy_app/Gemfile
207
- - spec/dummy_app/README.md
208
- - spec/dummy_app/Rakefile
209
- - spec/dummy_app/app/assets/images/.keep
210
- - spec/dummy_app/app/assets/javascripts/application.js
211
- - spec/dummy_app/app/assets/stylesheets/app/style.css.scss
212
- - spec/dummy_app/app/assets/stylesheets/application.css
213
- - spec/dummy_app/app/controllers/application_controller.rb
214
- - spec/dummy_app/app/controllers/concerns/.keep
215
- - spec/dummy_app/app/controllers/pages_controller.rb
216
- - spec/dummy_app/app/controllers/users_controller.rb
217
- - spec/dummy_app/app/controllers/welcome_controller.rb
218
- - spec/dummy_app/app/helpers/application_helper.rb
219
- - spec/dummy_app/app/mailers/.keep
220
- - spec/dummy_app/app/models/.keep
221
- - spec/dummy_app/app/models/concerns/.keep
222
- - spec/dummy_app/app/models/page.rb
223
- - spec/dummy_app/app/models/role.rb
224
- - spec/dummy_app/app/models/user.rb
225
- - spec/dummy_app/app/views/layouts/_current_user_info.html.haml
226
- - spec/dummy_app/app/views/layouts/application.html.haml
227
- - spec/dummy_app/app/views/pages/_form.html.haml
228
- - spec/dummy_app/app/views/pages/edit.html.haml
229
- - spec/dummy_app/app/views/pages/index.html.haml
230
- - spec/dummy_app/app/views/pages/manage.html.haml
231
- - spec/dummy_app/app/views/pages/my.html.haml
232
- - spec/dummy_app/app/views/pages/new.html.haml
233
- - spec/dummy_app/app/views/pages/show.html.haml
234
- - spec/dummy_app/app/views/users/edit.html.haml
235
- - spec/dummy_app/app/views/welcome/index.html.haml
236
- - spec/dummy_app/app/views/welcome/profile.html.haml
237
- - spec/dummy_app/bin/bundle
238
- - spec/dummy_app/bin/rails
239
- - spec/dummy_app/bin/rake
240
- - spec/dummy_app/config.ru
241
- - spec/dummy_app/config/application.rb
242
- - spec/dummy_app/config/boot.rb
243
- - spec/dummy_app/config/database.yml
244
- - spec/dummy_app/config/environment.rb
245
- - spec/dummy_app/config/environments/development.rb
246
- - spec/dummy_app/config/environments/production.rb
247
- - spec/dummy_app/config/environments/test.rb
248
- - spec/dummy_app/config/initializers/backtrace_silencers.rb
249
- - spec/dummy_app/config/initializers/devise.rb
250
- - spec/dummy_app/config/initializers/filter_parameter_logging.rb
251
- - spec/dummy_app/config/initializers/inflections.rb
252
- - spec/dummy_app/config/initializers/mime_types.rb
253
- - spec/dummy_app/config/initializers/secret_token.rb
254
- - spec/dummy_app/config/initializers/session_store.rb
255
- - spec/dummy_app/config/initializers/the_role.rb
256
- - spec/dummy_app/config/initializers/wrap_parameters.rb
257
- - spec/dummy_app/config/locales/devise.en.yml
258
- - spec/dummy_app/config/locales/en.yml
259
- - spec/dummy_app/config/locales/ru.yml
260
- - spec/dummy_app/config/routes.rb
261
- - spec/dummy_app/db/migrate/20120212061952_devise_create_users.rb
262
- - spec/dummy_app/db/migrate/20120212063249_create_roles.rb
263
- - spec/dummy_app/db/migrate/20120314061307_create_pages.rb
264
- - spec/dummy_app/db/schema.rb
265
- - spec/dummy_app/db/seeds.rb
266
- - spec/dummy_app/lib/assets/.keep
267
- - spec/dummy_app/lib/tasks/.keep
268
- - spec/dummy_app/lib/tasks/assets.rake
269
- - spec/dummy_app/lib/tasks/db_bootstrap.rake
270
- - spec/dummy_app/log/.keep
271
- - spec/dummy_app/public/404.html
272
- - spec/dummy_app/public/422.html
273
- - spec/dummy_app/public/500.html
274
- - spec/dummy_app/public/favicon.ico
275
- - spec/dummy_app/public/robots.txt
276
- - spec/dummy_app/spec/controllers/admin_roles_controller_spec.rb
277
- - spec/dummy_app/spec/controllers/pages_controller_spec.rb
278
- - spec/dummy_app/spec/controllers/welcome_controller_spec.rb
279
- - spec/dummy_app/spec/factories/page.rb
280
- - spec/dummy_app/spec/factories/role.rb
281
- - spec/dummy_app/spec/factories/user.rb
282
- - spec/dummy_app/spec/models/hash_spec.rb
283
- - spec/dummy_app/spec/models/param_process_spec.rb
284
- - spec/dummy_app/spec/models/role_spec.rb
285
- - spec/dummy_app/spec/models/user_spec.rb
286
- - spec/dummy_app/spec/routing/admin_roles_routing_spec.rb
287
- - spec/dummy_app/spec/routing/pages_routing_spec.rb
288
- - spec/dummy_app/spec/spec_helper.rb
289
- - spec/dummy_app/vendor/assets/javascripts/.keep
290
- - spec/dummy_app/vendor/assets/stylesheets/.keep
78
+ summary: Authorization for Rails
79
+ test_files: []
data/.ruby-gemset.example DELETED
@@ -1 +0,0 @@
1
- the_role
@@ -1 +0,0 @@
1
- ruby-2.0.0-p353
data/.rvmrc.example DELETED
@@ -1 +0,0 @@
1
- rvm use ruby-2.0.0-p353@the_role --create
data/.travis.yml DELETED
@@ -1,5 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 1.9.3
4
- gemfile: spec/dummy_app/Gemfile
5
- script: "cd spec/dummy_app && rake db:bootstrap RAILS_ENV=test && rspec --format documentation"
Binary file
@@ -1,90 +0,0 @@
1
- class Admin::RoleSectionsController < ApplicationController
2
- include TheRole::Controller
3
- layout TheRole.config.layout.to_s
4
-
5
- before_filter :login_required
6
- before_filter :role_required
7
-
8
- before_filter :section_rule_names, only: [:rule_on, :rule_off, :destroy_rule]
9
- before_filter :role_find, only: [:create, :create_rule, :rule_on, :rule_off, :destroy, :destroy_rule]
10
- before_filter :owner_required, only: [:create, :create_rule, :rule_on, :rule_off, :destroy, :destroy_rule]
11
-
12
- def create
13
- if @role.create_section params[:section_name]
14
- flash[:notice] = t 'the_role.section_created'
15
- else
16
- flash[:error] = t 'the_role.section_not_created'
17
- end
18
-
19
- redirect_to_edit
20
- end
21
-
22
- def create_rule
23
- if @role.create_rule params[:section_name], params[:rule_name]
24
- flash[:notice] = t 'the_role.section_rule_created'
25
- else
26
- flash[:error] = t 'the_role.section_rule_not_created'
27
- end
28
-
29
- redirect_to_edit
30
- end
31
-
32
- def rule_on
33
- if @role.rule_on @section_name, @rule_name
34
- flash[:notice] = t 'the_role.section_rule_on'
35
- else
36
- flash[:error] = t 'the_role.state_not_changed'
37
- end
38
-
39
- redirect_to_edit
40
- end
41
-
42
- def rule_off
43
- if @role.rule_off @section_name, @rule_name
44
- flash[:notice] = t 'the_role.section_rule_off'
45
- else
46
- flash[:error] = t 'the_role.state_not_changed'
47
- end
48
-
49
- redirect_to_edit
50
- end
51
-
52
- def destroy_rule
53
- if @role.delete_rule @section_name, @rule_name
54
- flash[:notice] = t 'the_role.section_rule_deleted'
55
- else
56
- flash[:error] = t 'the_role.section_rule_not_deleted'
57
- end
58
-
59
- redirect_to_edit
60
- end
61
-
62
- def destroy
63
- section_name = params[:id]
64
- if @role.delete_section section_name
65
- flash[:notice] = t 'the_role.section_deleted'
66
- else
67
- flash[:error] = t 'the_role.section_not_deleted'
68
- end
69
- redirect_to_edit
70
- end
71
-
72
- protected
73
-
74
- def section_rule_names
75
- @section_name = params[:id]
76
- @rule_name = params[:name]
77
- end
78
-
79
- def role_find
80
- @role = Role.find params[:role_id]
81
-
82
- # TheRole: You should define OWNER CHECK OBJECT
83
- # When editable object was found
84
- @owner_check_object = @role
85
- end
86
-
87
- def redirect_to_edit
88
- redirect_to edit_admin_role_path @role
89
- end
90
- end
@@ -1,74 +0,0 @@
1
- class Admin::RolesController < ApplicationController
2
- include TheRole::Controller
3
- layout TheRole.config.layout.to_s
4
-
5
- before_filter :login_required
6
- before_filter :role_required
7
-
8
- before_filter :role_find, only: [:edit, :update, :destroy, :change]
9
- before_filter :owner_required, only: [:edit, :update, :destroy, :change]
10
-
11
- def index
12
- @roles = Role.all.order('created_at ASC')
13
- end
14
-
15
- def new
16
- @role = Role.new
17
- end
18
-
19
- def edit; end
20
-
21
- def create
22
- @role = Role.new role_params
23
-
24
- if @role.save
25
- flash[:notice] = t 'the_role.role_created'
26
- redirect_to_edit
27
- else
28
- render :action => :new
29
- end
30
- end
31
-
32
- def update
33
- if @role.update_role params[:role][:the_role]
34
- flash[:notice] = t 'the_role.role_updated'
35
- redirect_to_edit
36
- else
37
- render :action => :edit
38
- end
39
- end
40
-
41
- def change
42
- if @role.update_attributes!(role_params)
43
- flash[:notice] = t 'the_role.role_updated'
44
- redirect_to_edit
45
- else
46
- render :action => :edit
47
- end
48
- end
49
-
50
- def destroy
51
- @role.destroy
52
- flash[:notice] = t 'the_role.role_deleted'
53
- redirect_to admin_roles_url
54
- end
55
-
56
- protected
57
-
58
- def role_params
59
- params.require(:role).permit(:name, :title, :description, :the_role, :based_on_role)
60
- end
61
-
62
- def role_find
63
- @role = Role.find params[:id]
64
-
65
- # TheRole: You should define OWNER CHECK OBJECT
66
- # When editable object was found
67
- @owner_check_object = @role
68
- end
69
-
70
- def redirect_to_edit
71
- redirect_to edit_admin_role_path @role
72
- end
73
-
74
- end
@@ -1,23 +0,0 @@
1
- module TheRole
2
- module Controller
3
- def login_required
4
- send TheRole.config.login_required_method
5
- end
6
-
7
- def role_access_denied
8
- send TheRole.config.access_denied_method
9
- end
10
-
11
- private
12
-
13
- def role_required
14
- role_access_denied unless current_user.has_role?(controller_path, action_name)
15
- end
16
-
17
- def owner_required
18
- # TheRole: You should define OWNER CHECK OBJECT
19
- # When editable object was found
20
- role_access_denied unless current_user.owner?(@owner_check_object)
21
- end
22
- end
23
- end
@@ -1,3 +0,0 @@
1
- class Role < ActiveRecord::Base
2
- acts_as_role
3
- end
@@ -1,37 +0,0 @@
1
- module TheRole
2
- module Base
3
- def has_section? section_name
4
- hash = role_hash
5
- section_name = section_name.to_slug_param(sep: '_')
6
- return true if hash[section_name]
7
- false
8
- end
9
-
10
- def has_role? section_name, rule_name
11
- hash = role_hash
12
- section_name = section_name.to_slug_param(sep: '_')
13
- rule_name = rule_name.to_slug_param(sep: '_')
14
-
15
- return true if hash.try(:[], 'system').try(:[], 'administrator')
16
- return true if hash.try(:[], 'moderator').try(:[], section_name)
17
-
18
- return false unless hash[section_name]
19
- return false unless hash[section_name].key? rule_name
20
- hash[section_name][rule_name]
21
- end
22
-
23
- def any_role? roles_hash = {}
24
- roles_hash.each_pair{|section, action| return true if has_role?(section, action)}
25
- false
26
- end
27
-
28
- def moderator? section_name
29
- section_name = section_name.to_slug_param(sep: '_')
30
- has_role? section_name, 'any_crazy_name'
31
- end
32
-
33
- def admin?
34
- has_role? 'any_crazy_name', 'any_crazy_name'
35
- end
36
- end
37
- end