monarchy 2.5.0 → 2.6.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 +5 -5
- data/.github_changelog_generator +1 -1
- data/.rubocop.yml +3 -1
- data/.travis.yml +7 -7
- data/CHANGELOG.md +9 -2
- data/Gemfile +13 -10
- data/Gemfile.lock +121 -111
- data/README.md +3 -3
- data/dummy/config/application.rb +2 -0
- data/lib/monarchy/acts_as_hierarchy.rb +20 -20
- data/lib/monarchy/acts_as_member.rb +0 -2
- data/lib/monarchy/acts_as_role.rb +1 -1
- data/lib/monarchy/acts_as_user.rb +1 -0
- data/lib/monarchy/validators.rb +3 -0
- data/lib/monarchy/version.rb +1 -1
- data/monarchy.gemspec +2 -5
- metadata +5 -47
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 255ffc319f1777f817bfef1e2e954fdce1093a3896f881e18f86fc1b7f27e583
|
|
4
|
+
data.tar.gz: b1499d2a8a58ee38ed24adda728d3fc2d0a89bca17a7ca167748948f974267a4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2d2b3568b5c05ec75e5d865fce5c59e396c445078db6593497e5d0754bb3732033c38e99b93b507ec0c368e7c00abef487d295b5df490e3a661e604a233688e8
|
|
7
|
+
data.tar.gz: cabed35ab71fdab6e7d4049c66056feb712a6df5f665a96b9229c37e0d0b5f52a046cacd84e25fce09839cc7d678eea019524534fd0e2386b302344bc44ef0d0
|
data/.github_changelog_generator
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
future-release=2.
|
|
1
|
+
future-release=2.6.0
|
data/.rubocop.yml
CHANGED
data/.travis.yml
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
addons:
|
|
2
|
-
code_climate:
|
|
3
|
-
repo_token: 60b8a9fc7e8d659c7dd22ed8912651c35b3ca5eebf1c23d5470308e6a802abbd
|
|
4
1
|
language: ruby
|
|
5
2
|
rvm:
|
|
6
|
-
- 2.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
-
|
|
3
|
+
- 2.5.3
|
|
4
|
+
before_script:
|
|
5
|
+
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
|
|
6
|
+
- chmod +x ./cc-test-reporter
|
|
7
|
+
- ./cc-test-reporter before-build
|
|
8
|
+
after_script:
|
|
9
|
+
- ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
|
data/CHANGELOG.md
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
-
## [2.
|
|
4
|
-
[Full Changelog](https://github.com/Exelord/Monarchy/compare/v2.
|
|
3
|
+
## [2.6.0](https://github.com/Exelord/Monarchy/tree/2.6.0) (2018-12-19)
|
|
4
|
+
[Full Changelog](https://github.com/Exelord/Monarchy/compare/v2.5.0...2.6.0)
|
|
5
|
+
|
|
6
|
+
**Merged pull requests:**
|
|
7
|
+
|
|
8
|
+
- Updates [\#82](https://github.com/Exelord/Monarchy/pull/82) ([Exelord](https://github.com/Exelord))
|
|
9
|
+
|
|
10
|
+
## [v2.5.0](https://github.com/Exelord/Monarchy/tree/v2.5.0) (2018-03-25)
|
|
11
|
+
[Full Changelog](https://github.com/Exelord/Monarchy/compare/v2.4.0...v2.5.0)
|
|
5
12
|
|
|
6
13
|
**Fixed bugs:**
|
|
7
14
|
|
data/Gemfile
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
source 'https://rubygems.org'
|
|
4
|
-
ruby '2.
|
|
4
|
+
ruby '2.5.3'
|
|
5
5
|
|
|
6
6
|
# Declare your gem's dependencies in monarchy.gemspec.
|
|
7
7
|
# Bundler will treat runtime dependencies like base dependencies, and
|
|
@@ -17,17 +17,20 @@ gemspec
|
|
|
17
17
|
# gem 'byebug', group: [:development, :test]
|
|
18
18
|
|
|
19
19
|
group :development, :test do
|
|
20
|
-
gem '
|
|
20
|
+
gem 'bundler', '~> 1.17'
|
|
21
|
+
gem 'database_cleaner', '1.7.0'
|
|
21
22
|
gem 'db-query-matchers', '0.9.0'
|
|
22
|
-
gem '
|
|
23
|
-
gem 'ffaker', '2.
|
|
24
|
-
gem 'pry-rails', '0.3.
|
|
25
|
-
gem 'rails', '5.
|
|
26
|
-
gem '
|
|
27
|
-
gem '
|
|
23
|
+
gem 'factory_bot_rails', '4.11.1'
|
|
24
|
+
gem 'ffaker', '2.10.0'
|
|
25
|
+
gem 'pry-rails', '0.3.8'
|
|
26
|
+
gem 'rails', '5.2.2'
|
|
27
|
+
gem 'rake', '~> 12.3.2'
|
|
28
|
+
gem 'rspec', '3.8.0'
|
|
29
|
+
gem 'rspec-rails', '3.8.1'
|
|
30
|
+
gem 'rubocop', '0.61.1'
|
|
31
|
+
gem 'rubocop-rspec', '1.30.1'
|
|
28
32
|
gem 'shoulda-matchers', '3.1.2'
|
|
29
33
|
gem 'sqlite3', '1.3.13'
|
|
30
34
|
end
|
|
31
35
|
|
|
32
|
-
gem '
|
|
33
|
-
gem 'simplecov', '0.13.0', group: :test
|
|
36
|
+
gem 'simplecov', '0.16.1', group: :test
|
data/Gemfile.lock
CHANGED
|
@@ -1,171 +1,181 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
monarchy (2.
|
|
4
|
+
monarchy (2.6.0)
|
|
5
5
|
active_record_union (= 1.3.0)
|
|
6
6
|
activerecord (>= 4.2.7.1)
|
|
7
|
-
closure_tree (=
|
|
7
|
+
closure_tree (= 7.0.0)
|
|
8
8
|
configurations (= 2.2.2)
|
|
9
9
|
tqdm (= 0.3.0)
|
|
10
10
|
|
|
11
11
|
GEM
|
|
12
12
|
remote: https://rubygems.org/
|
|
13
13
|
specs:
|
|
14
|
-
actioncable (5.
|
|
15
|
-
actionpack (= 5.
|
|
14
|
+
actioncable (5.2.2)
|
|
15
|
+
actionpack (= 5.2.2)
|
|
16
16
|
nio4r (~> 2.0)
|
|
17
|
-
websocket-driver (
|
|
18
|
-
actionmailer (5.
|
|
19
|
-
actionpack (= 5.
|
|
20
|
-
actionview (= 5.
|
|
21
|
-
activejob (= 5.
|
|
17
|
+
websocket-driver (>= 0.6.1)
|
|
18
|
+
actionmailer (5.2.2)
|
|
19
|
+
actionpack (= 5.2.2)
|
|
20
|
+
actionview (= 5.2.2)
|
|
21
|
+
activejob (= 5.2.2)
|
|
22
22
|
mail (~> 2.5, >= 2.5.4)
|
|
23
23
|
rails-dom-testing (~> 2.0)
|
|
24
|
-
actionpack (5.
|
|
25
|
-
actionview (= 5.
|
|
26
|
-
activesupport (= 5.
|
|
24
|
+
actionpack (5.2.2)
|
|
25
|
+
actionview (= 5.2.2)
|
|
26
|
+
activesupport (= 5.2.2)
|
|
27
27
|
rack (~> 2.0)
|
|
28
28
|
rack-test (>= 0.6.3)
|
|
29
29
|
rails-dom-testing (~> 2.0)
|
|
30
30
|
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
|
31
|
-
actionview (5.
|
|
32
|
-
activesupport (= 5.
|
|
31
|
+
actionview (5.2.2)
|
|
32
|
+
activesupport (= 5.2.2)
|
|
33
33
|
builder (~> 3.1)
|
|
34
34
|
erubi (~> 1.4)
|
|
35
35
|
rails-dom-testing (~> 2.0)
|
|
36
36
|
rails-html-sanitizer (~> 1.0, >= 1.0.3)
|
|
37
37
|
active_record_union (1.3.0)
|
|
38
38
|
activerecord (>= 4.0)
|
|
39
|
-
activejob (5.
|
|
40
|
-
activesupport (= 5.
|
|
39
|
+
activejob (5.2.2)
|
|
40
|
+
activesupport (= 5.2.2)
|
|
41
41
|
globalid (>= 0.3.6)
|
|
42
|
-
activemodel (5.
|
|
43
|
-
activesupport (= 5.
|
|
44
|
-
activerecord (5.
|
|
45
|
-
activemodel (= 5.
|
|
46
|
-
activesupport (= 5.
|
|
47
|
-
arel (
|
|
48
|
-
|
|
42
|
+
activemodel (5.2.2)
|
|
43
|
+
activesupport (= 5.2.2)
|
|
44
|
+
activerecord (5.2.2)
|
|
45
|
+
activemodel (= 5.2.2)
|
|
46
|
+
activesupport (= 5.2.2)
|
|
47
|
+
arel (>= 9.0)
|
|
48
|
+
activestorage (5.2.2)
|
|
49
|
+
actionpack (= 5.2.2)
|
|
50
|
+
activerecord (= 5.2.2)
|
|
51
|
+
marcel (~> 0.3.1)
|
|
52
|
+
activesupport (5.2.2)
|
|
49
53
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
50
|
-
i18n (
|
|
54
|
+
i18n (>= 0.7, < 2)
|
|
51
55
|
minitest (~> 5.1)
|
|
52
56
|
tzinfo (~> 1.1)
|
|
53
|
-
arel (
|
|
57
|
+
arel (9.0.0)
|
|
54
58
|
ast (2.4.0)
|
|
55
59
|
builder (3.2.3)
|
|
56
|
-
closure_tree (
|
|
57
|
-
activerecord (>= 4.
|
|
58
|
-
with_advisory_lock (>=
|
|
59
|
-
codeclimate-test-reporter (1.0.8)
|
|
60
|
-
simplecov (<= 0.13)
|
|
60
|
+
closure_tree (7.0.0)
|
|
61
|
+
activerecord (>= 4.2.10)
|
|
62
|
+
with_advisory_lock (>= 4.0.0)
|
|
61
63
|
coderay (1.1.2)
|
|
62
|
-
concurrent-ruby (1.
|
|
64
|
+
concurrent-ruby (1.1.4)
|
|
63
65
|
configurations (2.2.2)
|
|
64
|
-
crass (1.0.
|
|
65
|
-
database_cleaner (1.
|
|
66
|
+
crass (1.0.4)
|
|
67
|
+
database_cleaner (1.7.0)
|
|
66
68
|
db-query-matchers (0.9.0)
|
|
67
69
|
activesupport (>= 4.0, <= 6.0)
|
|
68
70
|
rspec (~> 3.0)
|
|
69
71
|
diff-lcs (1.3)
|
|
70
|
-
docile (1.1
|
|
71
|
-
erubi (1.
|
|
72
|
-
|
|
72
|
+
docile (1.3.1)
|
|
73
|
+
erubi (1.8.0)
|
|
74
|
+
factory_bot (4.11.1)
|
|
73
75
|
activesupport (>= 3.0.0)
|
|
74
|
-
|
|
75
|
-
|
|
76
|
+
factory_bot_rails (4.11.1)
|
|
77
|
+
factory_bot (~> 4.11.1)
|
|
76
78
|
railties (>= 3.0.0)
|
|
77
|
-
ffaker (2.
|
|
79
|
+
ffaker (2.10.0)
|
|
78
80
|
globalid (0.4.1)
|
|
79
81
|
activesupport (>= 4.2.0)
|
|
80
|
-
i18n (
|
|
82
|
+
i18n (1.2.0)
|
|
81
83
|
concurrent-ruby (~> 1.0)
|
|
84
|
+
jaro_winkler (1.5.1)
|
|
82
85
|
json (2.1.0)
|
|
83
|
-
loofah (2.2.
|
|
86
|
+
loofah (2.2.3)
|
|
84
87
|
crass (~> 1.0.2)
|
|
85
88
|
nokogiri (>= 1.5.9)
|
|
86
|
-
mail (2.7.
|
|
89
|
+
mail (2.7.1)
|
|
87
90
|
mini_mime (>= 0.1.1)
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
+
marcel (0.3.3)
|
|
92
|
+
mimemagic (~> 0.3.2)
|
|
93
|
+
method_source (0.9.2)
|
|
94
|
+
mimemagic (0.3.2)
|
|
95
|
+
mini_mime (1.0.1)
|
|
96
|
+
mini_portile2 (2.4.0)
|
|
91
97
|
minitest (5.11.3)
|
|
92
|
-
nio4r (2.3.
|
|
93
|
-
nokogiri (1.
|
|
94
|
-
mini_portile2 (~> 2.
|
|
98
|
+
nio4r (2.3.1)
|
|
99
|
+
nokogiri (1.9.1)
|
|
100
|
+
mini_portile2 (~> 2.4.0)
|
|
95
101
|
parallel (1.12.1)
|
|
96
|
-
parser (2.5.0
|
|
102
|
+
parser (2.5.3.0)
|
|
97
103
|
ast (~> 2.4.0)
|
|
98
|
-
powerpack (0.1.
|
|
99
|
-
pry (0.
|
|
104
|
+
powerpack (0.1.2)
|
|
105
|
+
pry (0.12.2)
|
|
100
106
|
coderay (~> 1.1.0)
|
|
101
107
|
method_source (~> 0.9.0)
|
|
102
|
-
pry-rails (0.3.
|
|
108
|
+
pry-rails (0.3.8)
|
|
103
109
|
pry (>= 0.10.4)
|
|
104
|
-
rack (2.0.
|
|
105
|
-
rack-test (
|
|
110
|
+
rack (2.0.6)
|
|
111
|
+
rack-test (1.1.0)
|
|
106
112
|
rack (>= 1.0, < 3)
|
|
107
|
-
rails (5.
|
|
108
|
-
actioncable (= 5.
|
|
109
|
-
actionmailer (= 5.
|
|
110
|
-
actionpack (= 5.
|
|
111
|
-
actionview (= 5.
|
|
112
|
-
activejob (= 5.
|
|
113
|
-
activemodel (= 5.
|
|
114
|
-
activerecord (= 5.
|
|
115
|
-
|
|
113
|
+
rails (5.2.2)
|
|
114
|
+
actioncable (= 5.2.2)
|
|
115
|
+
actionmailer (= 5.2.2)
|
|
116
|
+
actionpack (= 5.2.2)
|
|
117
|
+
actionview (= 5.2.2)
|
|
118
|
+
activejob (= 5.2.2)
|
|
119
|
+
activemodel (= 5.2.2)
|
|
120
|
+
activerecord (= 5.2.2)
|
|
121
|
+
activestorage (= 5.2.2)
|
|
122
|
+
activesupport (= 5.2.2)
|
|
116
123
|
bundler (>= 1.3.0)
|
|
117
|
-
railties (= 5.
|
|
124
|
+
railties (= 5.2.2)
|
|
118
125
|
sprockets-rails (>= 2.0.0)
|
|
119
126
|
rails-dom-testing (2.0.3)
|
|
120
127
|
activesupport (>= 4.2.0)
|
|
121
128
|
nokogiri (>= 1.6)
|
|
122
129
|
rails-html-sanitizer (1.0.4)
|
|
123
130
|
loofah (~> 2.2, >= 2.2.2)
|
|
124
|
-
railties (5.
|
|
125
|
-
actionpack (= 5.
|
|
126
|
-
activesupport (= 5.
|
|
131
|
+
railties (5.2.2)
|
|
132
|
+
actionpack (= 5.2.2)
|
|
133
|
+
activesupport (= 5.2.2)
|
|
127
134
|
method_source
|
|
128
135
|
rake (>= 0.8.7)
|
|
129
|
-
thor (>= 0.
|
|
136
|
+
thor (>= 0.19.0, < 2.0)
|
|
130
137
|
rainbow (3.0.0)
|
|
131
|
-
rake (12.3.
|
|
132
|
-
rspec (3.
|
|
133
|
-
rspec-core (~> 3.
|
|
134
|
-
rspec-expectations (~> 3.
|
|
135
|
-
rspec-mocks (~> 3.
|
|
136
|
-
rspec-core (3.
|
|
137
|
-
rspec-support (~> 3.
|
|
138
|
-
rspec-expectations (3.
|
|
138
|
+
rake (12.3.2)
|
|
139
|
+
rspec (3.8.0)
|
|
140
|
+
rspec-core (~> 3.8.0)
|
|
141
|
+
rspec-expectations (~> 3.8.0)
|
|
142
|
+
rspec-mocks (~> 3.8.0)
|
|
143
|
+
rspec-core (3.8.0)
|
|
144
|
+
rspec-support (~> 3.8.0)
|
|
145
|
+
rspec-expectations (3.8.2)
|
|
139
146
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
140
|
-
rspec-support (~> 3.
|
|
141
|
-
rspec-mocks (3.
|
|
147
|
+
rspec-support (~> 3.8.0)
|
|
148
|
+
rspec-mocks (3.8.0)
|
|
142
149
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
143
|
-
rspec-support (~> 3.
|
|
144
|
-
rspec-rails (3.
|
|
150
|
+
rspec-support (~> 3.8.0)
|
|
151
|
+
rspec-rails (3.8.1)
|
|
145
152
|
actionpack (>= 3.0)
|
|
146
153
|
activesupport (>= 3.0)
|
|
147
154
|
railties (>= 3.0)
|
|
148
|
-
rspec-core (~> 3.
|
|
149
|
-
rspec-expectations (~> 3.
|
|
150
|
-
rspec-mocks (~> 3.
|
|
151
|
-
rspec-support (~> 3.
|
|
152
|
-
rspec-support (3.
|
|
153
|
-
rubocop (0.
|
|
155
|
+
rspec-core (~> 3.8.0)
|
|
156
|
+
rspec-expectations (~> 3.8.0)
|
|
157
|
+
rspec-mocks (~> 3.8.0)
|
|
158
|
+
rspec-support (~> 3.8.0)
|
|
159
|
+
rspec-support (3.8.0)
|
|
160
|
+
rubocop (0.61.1)
|
|
161
|
+
jaro_winkler (~> 1.5.1)
|
|
154
162
|
parallel (~> 1.10)
|
|
155
|
-
parser (>= 2.5)
|
|
163
|
+
parser (>= 2.5, != 2.5.1.1)
|
|
156
164
|
powerpack (~> 0.1)
|
|
157
165
|
rainbow (>= 2.2.2, < 4.0)
|
|
158
166
|
ruby-progressbar (~> 1.7)
|
|
159
|
-
unicode-display_width (~> 1.
|
|
160
|
-
|
|
167
|
+
unicode-display_width (~> 1.4.0)
|
|
168
|
+
rubocop-rspec (1.30.1)
|
|
169
|
+
rubocop (>= 0.60.0)
|
|
170
|
+
ruby-progressbar (1.10.0)
|
|
161
171
|
shoulda-matchers (3.1.2)
|
|
162
172
|
activesupport (>= 4.0.0)
|
|
163
|
-
simplecov (0.
|
|
164
|
-
docile (~> 1.1
|
|
173
|
+
simplecov (0.16.1)
|
|
174
|
+
docile (~> 1.1)
|
|
165
175
|
json (>= 1.8, < 3)
|
|
166
176
|
simplecov-html (~> 0.10.0)
|
|
167
177
|
simplecov-html (0.10.2)
|
|
168
|
-
sprockets (3.7.
|
|
178
|
+
sprockets (3.7.2)
|
|
169
179
|
concurrent-ruby (~> 1.0)
|
|
170
180
|
rack (> 1, < 3)
|
|
171
181
|
sprockets-rails (3.2.1)
|
|
@@ -173,41 +183,41 @@ GEM
|
|
|
173
183
|
activesupport (>= 4.0)
|
|
174
184
|
sprockets (>= 3.0.0)
|
|
175
185
|
sqlite3 (1.3.13)
|
|
176
|
-
thor (0.20.
|
|
186
|
+
thor (0.20.3)
|
|
177
187
|
thread_safe (0.3.6)
|
|
178
188
|
tqdm (0.3.0)
|
|
179
189
|
tzinfo (1.2.5)
|
|
180
190
|
thread_safe (~> 0.1)
|
|
181
|
-
unicode-display_width (1.
|
|
182
|
-
websocket-driver (0.
|
|
191
|
+
unicode-display_width (1.4.0)
|
|
192
|
+
websocket-driver (0.7.0)
|
|
183
193
|
websocket-extensions (>= 0.1.0)
|
|
184
194
|
websocket-extensions (0.1.3)
|
|
185
|
-
with_advisory_lock (
|
|
186
|
-
activerecord (>=
|
|
195
|
+
with_advisory_lock (4.0.0)
|
|
196
|
+
activerecord (>= 4.2)
|
|
187
197
|
|
|
188
198
|
PLATFORMS
|
|
189
199
|
ruby
|
|
190
200
|
|
|
191
201
|
DEPENDENCIES
|
|
192
|
-
bundler (~> 1.
|
|
193
|
-
|
|
194
|
-
database_cleaner (= 1.6.2)
|
|
202
|
+
bundler (~> 1.17)
|
|
203
|
+
database_cleaner (= 1.7.0)
|
|
195
204
|
db-query-matchers (= 0.9.0)
|
|
196
|
-
|
|
197
|
-
ffaker (= 2.
|
|
205
|
+
factory_bot_rails (= 4.11.1)
|
|
206
|
+
ffaker (= 2.10.0)
|
|
198
207
|
monarchy!
|
|
199
|
-
pry-rails (= 0.3.
|
|
200
|
-
rails (= 5.
|
|
201
|
-
rake (~> 12.3.
|
|
202
|
-
rspec (= 3.
|
|
203
|
-
rspec-rails (= 3.
|
|
204
|
-
rubocop (= 0.
|
|
208
|
+
pry-rails (= 0.3.8)
|
|
209
|
+
rails (= 5.2.2)
|
|
210
|
+
rake (~> 12.3.2)
|
|
211
|
+
rspec (= 3.8.0)
|
|
212
|
+
rspec-rails (= 3.8.1)
|
|
213
|
+
rubocop (= 0.61.1)
|
|
214
|
+
rubocop-rspec (= 1.30.1)
|
|
205
215
|
shoulda-matchers (= 3.1.2)
|
|
206
|
-
simplecov (= 0.
|
|
216
|
+
simplecov (= 0.16.1)
|
|
207
217
|
sqlite3 (= 1.3.13)
|
|
208
218
|
|
|
209
219
|
RUBY VERSION
|
|
210
|
-
ruby 2.
|
|
220
|
+
ruby 2.5.3p105
|
|
211
221
|
|
|
212
222
|
BUNDLED WITH
|
|
213
|
-
1.
|
|
223
|
+
1.17.2
|
data/README.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
<p align="center">
|
|
2
2
|
<img src="monarchy.png?raw=true" alt="Sublime's custom image"/>
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<p align="center">
|
|
3
6
|
<a href="https://travis-ci.org/Exelord/Monarchy">
|
|
4
7
|
<img src="https://travis-ci.org/Exelord/Monarchy.svg?branch=master">
|
|
5
8
|
</a>
|
|
6
|
-
<a href="https://gemnasium.com/github.com/Exelord/Monarchy">
|
|
7
|
-
<img src="https://gemnasium.com/badges/github.com/Exelord/Monarchy.svg">
|
|
8
|
-
</a>
|
|
9
9
|
<a href="https://gitter.im/Exelord/Monarchy?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge">
|
|
10
10
|
<img src="https://badges.gitter.im/Exelord/Monarchy.svg">
|
|
11
11
|
</a>
|
data/dummy/config/application.rb
CHANGED
|
@@ -19,5 +19,7 @@ module Dummy
|
|
|
19
19
|
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
|
|
20
20
|
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
|
|
21
21
|
# config.i18n.default_locale = :de
|
|
22
|
+
|
|
23
|
+
config.active_record.sqlite3.represent_boolean_as_integer = true
|
|
22
24
|
end
|
|
23
25
|
end
|
|
@@ -69,6 +69,26 @@ module Monarchy
|
|
|
69
69
|
end
|
|
70
70
|
|
|
71
71
|
module SupportMethods
|
|
72
|
+
def accessible_roots_ids(user_id, parent_access)
|
|
73
|
+
accessible_roots = unscoped.joins('INNER JOIN monarchy_hierarchy_hierarchies ON ' \
|
|
74
|
+
'monarchy_hierarchies.id = monarchy_hierarchy_hierarchies.ancestor_id')
|
|
75
|
+
.joins('INNER JOIN (SELECT hierarchy_id FROM monarchy_members ' \
|
|
76
|
+
"WHERE monarchy_members.user_id = #{user_id}) as members ON " \
|
|
77
|
+
'members.hierarchy_id = monarchy_hierarchy_hierarchies.descendant_id').select(:id)
|
|
78
|
+
|
|
79
|
+
parent_access ? roots_with_children(accessible_roots) : accessible_roots
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
def accessible_leaves_ids(user_id, inherited_roles = [])
|
|
83
|
+
ancestor_leaves_for_user(user_id, false)
|
|
84
|
+
.select('monarchy_hierarchy_hierarchies.ancestor_id AS id')
|
|
85
|
+
.union_all(descendant_leaves_for_user(user_id, inherited_roles)).select(:id)
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
def accessible_for_options(options = {})
|
|
89
|
+
Monarchy.configuration.accessible_for_options.to_h.merge(options)
|
|
90
|
+
end
|
|
91
|
+
|
|
72
92
|
private
|
|
73
93
|
|
|
74
94
|
def include_relations
|
|
@@ -98,27 +118,11 @@ module Monarchy
|
|
|
98
118
|
end
|
|
99
119
|
# rubocop:enable all
|
|
100
120
|
|
|
101
|
-
def accessible_roots_ids(user_id, parent_access)
|
|
102
|
-
accessible_roots = unscoped.joins('INNER JOIN monarchy_hierarchy_hierarchies ON ' \
|
|
103
|
-
'monarchy_hierarchies.id = monarchy_hierarchy_hierarchies.ancestor_id')
|
|
104
|
-
.joins('INNER JOIN (SELECT hierarchy_id FROM monarchy_members ' \
|
|
105
|
-
"WHERE monarchy_members.user_id = #{user_id}) as members ON " \
|
|
106
|
-
'members.hierarchy_id = monarchy_hierarchy_hierarchies.descendant_id').select(:id)
|
|
107
|
-
|
|
108
|
-
parent_access ? roots_with_children(accessible_roots) : accessible_roots
|
|
109
|
-
end
|
|
110
|
-
|
|
111
121
|
def roots_with_children(accessible_roots)
|
|
112
122
|
accessible_children = unscoped.where(parent_id: accessible_roots).select(:id)
|
|
113
123
|
accessible_roots.union_all(accessible_children)
|
|
114
124
|
end
|
|
115
125
|
|
|
116
|
-
def accessible_leaves_ids(user_id, inherited_roles = [])
|
|
117
|
-
ancestor_leaves_for_user(user_id, false)
|
|
118
|
-
.select('monarchy_hierarchy_hierarchies.ancestor_id AS id')
|
|
119
|
-
.union_all(descendant_leaves_for_user(user_id, inherited_roles)).select(:id)
|
|
120
|
-
end
|
|
121
|
-
|
|
122
126
|
def descendant_leaves_for_user(user_id, inherited_roles = [])
|
|
123
127
|
ancestor_leaves_for_user(user_id, true, inherited_roles)
|
|
124
128
|
.joins('INNER JOIN monarchy_hierarchy_hierarchies AS monarchy_descendants ON ' \
|
|
@@ -145,10 +149,6 @@ module Monarchy
|
|
|
145
149
|
Monarchy.role_class.select(:id, :inherited).where(inherited: inherited).to_sql
|
|
146
150
|
end
|
|
147
151
|
end
|
|
148
|
-
|
|
149
|
-
def accessible_for_options(options = {})
|
|
150
|
-
Monarchy.configuration.accessible_for_options.to_h.merge(options)
|
|
151
|
-
end
|
|
152
152
|
end
|
|
153
153
|
end
|
|
154
154
|
end
|
|
@@ -52,8 +52,6 @@ module Monarchy
|
|
|
52
52
|
belongs_to :hierarchy, class_name: "::#{Monarchy.hierarchy_class}"
|
|
53
53
|
end
|
|
54
54
|
|
|
55
|
-
private
|
|
56
|
-
|
|
57
55
|
def with_ancestors_access(resource)
|
|
58
56
|
unscoped.where(hierarchy: resource.hierarchy.self_and_ancestors)
|
|
59
57
|
.joins(:roles).where(monarchy_roles: { inherited: true })
|
data/lib/monarchy/validators.rb
CHANGED
|
@@ -41,16 +41,19 @@ module Monarchy
|
|
|
41
41
|
|
|
42
42
|
def user(user, allow_nil = false)
|
|
43
43
|
raise Monarchy::Exceptions::UserIsNil if !user && !allow_nil
|
|
44
|
+
|
|
44
45
|
model_is_class(user, Monarchy.user_class, 'ModelNotUser')
|
|
45
46
|
end
|
|
46
47
|
|
|
47
48
|
def member(member, allow_nil = false)
|
|
48
49
|
raise Monarchy::Exceptions::MemberIsNil if !member && !allow_nil
|
|
50
|
+
|
|
49
51
|
model_is_class(member, Monarchy.member_class, 'ModelNotMember')
|
|
50
52
|
end
|
|
51
53
|
|
|
52
54
|
def role(role, allow_nil = false)
|
|
53
55
|
raise Monarchy::Exceptions::RoleIsNil if !role && !allow_nil
|
|
56
|
+
|
|
54
57
|
model_is_class(role, Monarchy.role_class, 'ModelNotRole')
|
|
55
58
|
end
|
|
56
59
|
|
data/lib/monarchy/version.rb
CHANGED
data/monarchy.gemspec
CHANGED
|
@@ -19,6 +19,7 @@ Gem::Specification.new do |s|
|
|
|
19
19
|
s.test_files = Dir['test/**/*']
|
|
20
20
|
|
|
21
21
|
raise 'RubyGems 2.0 or newer is required to protect against public gem pushes.' unless s.respond_to?(:metadata)
|
|
22
|
+
|
|
22
23
|
s.metadata['allowed_push_host'] = 'https://rubygems.org'
|
|
23
24
|
|
|
24
25
|
s.bindir = 'exe'
|
|
@@ -28,11 +29,7 @@ Gem::Specification.new do |s|
|
|
|
28
29
|
|
|
29
30
|
s.add_dependency 'active_record_union', '1.3.0'
|
|
30
31
|
s.add_dependency 'activerecord', '>=4.2.7.1'
|
|
31
|
-
s.add_dependency 'closure_tree', '
|
|
32
|
+
s.add_dependency 'closure_tree', '7.0.0'
|
|
32
33
|
s.add_dependency 'configurations', '2.2.2'
|
|
33
34
|
s.add_dependency 'tqdm', '0.3.0'
|
|
34
|
-
|
|
35
|
-
s.add_development_dependency 'bundler', '~> 1.12'
|
|
36
|
-
s.add_development_dependency 'rake', '~> 12.3.1'
|
|
37
|
-
s.add_development_dependency 'rspec', '3.7.0'
|
|
38
35
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: monarchy
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.6.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Exelord
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2018-
|
|
11
|
+
date: 2018-12-19 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: active_record_union
|
|
@@ -44,14 +44,14 @@ dependencies:
|
|
|
44
44
|
requirements:
|
|
45
45
|
- - '='
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version:
|
|
47
|
+
version: 7.0.0
|
|
48
48
|
type: :runtime
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
52
|
- - '='
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version:
|
|
54
|
+
version: 7.0.0
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: configurations
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -80,48 +80,6 @@ dependencies:
|
|
|
80
80
|
- - '='
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
82
|
version: 0.3.0
|
|
83
|
-
- !ruby/object:Gem::Dependency
|
|
84
|
-
name: bundler
|
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
|
86
|
-
requirements:
|
|
87
|
-
- - "~>"
|
|
88
|
-
- !ruby/object:Gem::Version
|
|
89
|
-
version: '1.12'
|
|
90
|
-
type: :development
|
|
91
|
-
prerelease: false
|
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
-
requirements:
|
|
94
|
-
- - "~>"
|
|
95
|
-
- !ruby/object:Gem::Version
|
|
96
|
-
version: '1.12'
|
|
97
|
-
- !ruby/object:Gem::Dependency
|
|
98
|
-
name: rake
|
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
|
100
|
-
requirements:
|
|
101
|
-
- - "~>"
|
|
102
|
-
- !ruby/object:Gem::Version
|
|
103
|
-
version: 12.3.1
|
|
104
|
-
type: :development
|
|
105
|
-
prerelease: false
|
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
-
requirements:
|
|
108
|
-
- - "~>"
|
|
109
|
-
- !ruby/object:Gem::Version
|
|
110
|
-
version: 12.3.1
|
|
111
|
-
- !ruby/object:Gem::Dependency
|
|
112
|
-
name: rspec
|
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
|
114
|
-
requirements:
|
|
115
|
-
- - '='
|
|
116
|
-
- !ruby/object:Gem::Version
|
|
117
|
-
version: 3.7.0
|
|
118
|
-
type: :development
|
|
119
|
-
prerelease: false
|
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
-
requirements:
|
|
122
|
-
- - '='
|
|
123
|
-
- !ruby/object:Gem::Version
|
|
124
|
-
version: 3.7.0
|
|
125
83
|
description: Hierarchical access management system with roles inheritance.
|
|
126
84
|
email:
|
|
127
85
|
- exelord@macsour.com
|
|
@@ -259,7 +217,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
259
217
|
version: '0'
|
|
260
218
|
requirements: []
|
|
261
219
|
rubyforge_project:
|
|
262
|
-
rubygems_version: 2.6
|
|
220
|
+
rubygems_version: 2.7.6
|
|
263
221
|
signing_key:
|
|
264
222
|
specification_version: 4
|
|
265
223
|
summary: Hierarchical access management system with roles inheritance.
|