flexible_accessibility 0.3.4 → 0.3.7
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
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: ac50d41b922cf00aec741014a9e7c0f03db55a64
|
4
|
+
data.tar.gz: 52422cb39013ba81cb78180d8550fa7750490cf8
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 7709cb56418905082c53873f47cb587c624f9a2568d85337a4240c93e3041136f5364028b58b7eca9375d534f0df2378a9fda689d2d5c057dc8c6c5d8b51fde9
|
7
|
+
data.tar.gz: 68fbf3dd786d7a8f182b83414363e7671e705c3632c5b7609110f6c25be7478fd589e07a640bd54ab5128dea6e1fb3c5533d95cb1203bcf4fbdc6b2342b6b9f6
|
data/README.md
CHANGED
@@ -2,6 +2,8 @@ Flexible Accessibility
|
|
2
2
|
|
3
3
|
A simple library for setting access rules, based on analysis of current resources (e.g. controllers (with namespaces) and actions) that exists in application.
|
4
4
|
|
5
|
+
[](https://codeclimate.com/github/7Pikes/flexible_accessibility)
|
6
|
+
|
5
7
|
Installation:
|
6
8
|
|
7
9
|
gem install flexible_accessibility
|
@@ -2,9 +2,9 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = 'flexible_accessibility'
|
5
|
-
s.version = '0.3.
|
5
|
+
s.version = '0.3.7'
|
6
6
|
s.authors = ['Sergey Avanesov']
|
7
|
-
s.date = '2014-
|
7
|
+
s.date = '2014-05-27'
|
8
8
|
s.summary = 'Flexible access control system'
|
9
9
|
s.description = 'Flexible access control system for your rails application. Based on analysis of controller actions'
|
10
10
|
s.email = 'sergey.awanesov@gmail.com'
|
@@ -12,15 +12,16 @@ module FlexibleAccessibility
|
|
12
12
|
arguments = parse_arguments(args)
|
13
13
|
validate_arguments(arguments)
|
14
14
|
available_routes = Utils.new.app_routes[self.to_s.gsub(/Controller/, '')]
|
15
|
-
available_routes =
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
15
|
+
# available_routes = self.action_methods if available_routes.nil?
|
16
|
+
raise NoWayToDetectAvailableRoutesException if available_routes.nil?
|
17
|
+
|
18
|
+
self.instance_variable_set(:@_verifiable_routes, available_routes) if arguments[:all]
|
19
|
+
self.instance_variable_set(:@_verifiable_routes, arguments[:only]) unless arguments[:only].nil?
|
20
|
+
self.instance_variable_set(:@_verifiable_routes, available_routes - arguments[:except]) unless arguments[:except].nil?
|
21
|
+
|
22
|
+
unless arguments[:skip].nil?
|
23
|
+
non_verifiable_routes = arguments[:skip].first == 'all' ? available_routes : arguments[:skip]
|
24
|
+
self.instance_variable_set(:@_non_verifiable_routes, non_verifiable_routes)
|
24
25
|
end
|
25
26
|
end
|
26
27
|
|
@@ -13,13 +13,14 @@ module FlexibleAccessibility
|
|
13
13
|
|
14
14
|
def app_routes
|
15
15
|
app_routes_as_hash if @@routes.empty?
|
16
|
-
@@routes
|
16
|
+
@@routes.to_set
|
17
17
|
end
|
18
18
|
|
19
19
|
private
|
20
20
|
# All controller classes placed in :default scope
|
21
21
|
def app_controllers_recursive(path)
|
22
|
-
|
22
|
+
invalid_entries = ['..', '.', 'concerns']
|
23
|
+
(Dir.entries(path) - invalid_entries).each do |entry|
|
23
24
|
if File.directory?(path + entry)
|
24
25
|
app_controllers_recursive(path + entry + '/')
|
25
26
|
else
|
@@ -36,6 +37,7 @@ module FlexibleAccessibility
|
|
36
37
|
|
37
38
|
# Routes from routes.rb
|
38
39
|
def app_routes_as_hash
|
40
|
+
Rails.application.reload_routes!
|
39
41
|
Rails.application.routes.routes.each do |route|
|
40
42
|
controller = route.defaults[:controller]
|
41
43
|
unless controller.nil?
|
metadata
CHANGED
@@ -1,80 +1,71 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flexible_accessibility
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
version: 0.3.4
|
4
|
+
version: 0.3.7
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Sergey Avanesov
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2014-
|
11
|
+
date: 2014-05-27 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
|
-
|
16
|
-
type: :development
|
14
|
+
name: i18n
|
17
15
|
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
16
|
requirements:
|
20
|
-
- -
|
17
|
+
- - ">="
|
21
18
|
- !ruby/object:Gem::Version
|
22
19
|
version: '0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
23
22
|
version_requirements: !ruby/object:Gem::Requirement
|
24
|
-
none: false
|
25
23
|
requirements:
|
26
|
-
- -
|
24
|
+
- - ">="
|
27
25
|
- !ruby/object:Gem::Version
|
28
26
|
version: '0'
|
29
|
-
name: i18n
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
|
-
|
32
|
-
type: :development
|
28
|
+
name: rdoc
|
33
29
|
requirement: !ruby/object:Gem::Requirement
|
34
|
-
none: false
|
35
30
|
requirements:
|
36
|
-
- -
|
31
|
+
- - ">="
|
37
32
|
- !ruby/object:Gem::Version
|
38
33
|
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
39
36
|
version_requirements: !ruby/object:Gem::Requirement
|
40
|
-
none: false
|
41
37
|
requirements:
|
42
|
-
- -
|
38
|
+
- - ">="
|
43
39
|
- !ruby/object:Gem::Version
|
44
40
|
version: '0'
|
45
|
-
name: rdoc
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
|
-
|
48
|
-
type: :development
|
42
|
+
name: rspec
|
49
43
|
requirement: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
44
|
requirements:
|
52
|
-
- -
|
45
|
+
- - ">="
|
53
46
|
- !ruby/object:Gem::Version
|
54
47
|
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
55
50
|
version_requirements: !ruby/object:Gem::Requirement
|
56
|
-
none: false
|
57
51
|
requirements:
|
58
|
-
- -
|
52
|
+
- - ">="
|
59
53
|
- !ruby/object:Gem::Version
|
60
54
|
version: '0'
|
61
|
-
name: rspec
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
|
-
|
64
|
-
type: :development
|
56
|
+
name: bundler
|
65
57
|
requirement: !ruby/object:Gem::Requirement
|
66
|
-
none: false
|
67
58
|
requirements:
|
68
|
-
- -
|
59
|
+
- - ">="
|
69
60
|
- !ruby/object:Gem::Version
|
70
61
|
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
71
64
|
version_requirements: !ruby/object:Gem::Requirement
|
72
|
-
none: false
|
73
65
|
requirements:
|
74
|
-
- -
|
66
|
+
- - ">="
|
75
67
|
- !ruby/object:Gem::Version
|
76
68
|
version: '0'
|
77
|
-
name: bundler
|
78
69
|
description: Flexible access control system for your rails application. Based on analysis
|
79
70
|
of controller actions
|
80
71
|
email: sergey.awanesov@gmail.com
|
@@ -82,7 +73,7 @@ executables: []
|
|
82
73
|
extensions: []
|
83
74
|
extra_rdoc_files: []
|
84
75
|
files:
|
85
|
-
- .gitignore
|
76
|
+
- ".gitignore"
|
86
77
|
- Gemfile
|
87
78
|
- Gemfile.lock
|
88
79
|
- LICENSE.txt
|
@@ -107,27 +98,26 @@ files:
|
|
107
98
|
homepage: http://github.com/mochnatiy/flexible_accessibility
|
108
99
|
licenses:
|
109
100
|
- MIT
|
101
|
+
metadata: {}
|
110
102
|
post_install_message:
|
111
103
|
rdoc_options: []
|
112
104
|
require_paths:
|
113
105
|
- lib
|
114
106
|
required_ruby_version: !ruby/object:Gem::Requirement
|
115
|
-
none: false
|
116
107
|
requirements:
|
117
|
-
- -
|
108
|
+
- - ">="
|
118
109
|
- !ruby/object:Gem::Version
|
119
110
|
version: '0'
|
120
111
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
112
|
requirements:
|
123
|
-
- -
|
113
|
+
- - ">"
|
124
114
|
- !ruby/object:Gem::Version
|
125
115
|
version: 1.3.1
|
126
116
|
requirements: []
|
127
117
|
rubyforge_project:
|
128
|
-
rubygems_version:
|
118
|
+
rubygems_version: 2.2.2
|
129
119
|
signing_key:
|
130
|
-
specification_version:
|
120
|
+
specification_version: 4
|
131
121
|
summary: Flexible access control system
|
132
122
|
test_files:
|
133
123
|
- test/helper.rb
|