rolify 4.1.1 → 6.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.
- checksums.yaml +5 -5
- data/.github/workflows/activerecord.yml +27 -0
- data/.github/workflows/mongoid.yml +32 -0
- data/.hakiri.yml +1 -0
- data/Appraisals +42 -0
- data/CHANGELOG.rdoc +52 -8
- data/CONTRIBUTORS +11 -0
- data/Gemfile +6 -14
- data/LICENSE +1 -1
- data/README.md +72 -26
- data/Rakefile +6 -1
- data/gemfiles/activerecord_4.gemfile +20 -0
- data/gemfiles/activerecord_5.gemfile +22 -0
- data/gemfiles/activerecord_6.gemfile +22 -0
- data/gemfiles/mongoid_5.gemfile +20 -0
- data/gemfiles/mongoid_6.gemfile +19 -0
- data/gemfiles/mongoid_7.gemfile +20 -0
- data/lib/generators/active_record/rolify_generator.rb +45 -11
- data/lib/generators/active_record/templates/migration.rb +2 -3
- data/lib/generators/active_record/templates/model.rb +15 -0
- data/lib/generators/rolify/templates/initializer.rb +4 -1
- data/lib/rolify.rb +3 -4
- data/lib/rolify/adapters/active_record/resource_adapter.rb +14 -8
- data/lib/rolify/adapters/active_record/role_adapter.rb +40 -17
- data/lib/rolify/adapters/mongoid/role_adapter.rb +38 -8
- data/lib/rolify/configure.rb +4 -2
- data/lib/rolify/dynamic.rb +2 -16
- data/lib/rolify/finders.rb +6 -1
- data/lib/rolify/matchers.rb +2 -2
- data/lib/rolify/resource.rb +1 -1
- data/lib/rolify/role.rb +11 -2
- data/lib/rolify/version.rb +1 -1
- data/rolify.gemspec +15 -7
- data/spec/common_helper.rb +16 -0
- data/spec/generators/rolify/rolify_activerecord_generator_spec.rb +112 -6
- data/spec/generators_helper.rb +9 -2
- data/spec/rolify/config_spec.rb +2 -0
- data/spec/rolify/custom_spec.rb +1 -1
- data/spec/rolify/resource_spec.rb +6 -0
- data/spec/rolify/shared_examples/shared_examples_for_finders.rb +50 -32
- data/spec/rolify/shared_examples/shared_examples_for_has_role.rb +65 -0
- data/spec/rolify/utils_spec.rb +19 -0
- data/spec/spec_helper.rb +19 -6
- data/spec/support/adapters/active_record.rb +4 -3
- data/spec/support/adapters/mongoid.rb +19 -2
- data/spec/support/adapters/{mongoid.yml → mongoid_5.yml} +2 -2
- data/spec/support/adapters/mongoid_6.yml +6 -0
- data/spec/support/adapters/mongoid_7.yml +6 -0
- data/spec/support/adapters/utils/active_record.rb +12 -0
- data/spec/support/adapters/utils/mongoid.rb +13 -0
- metadata +60 -26
- data/.travis.yml +0 -25
- data/gemfiles/Gemfile.rails-3.2 +0 -27
- data/gemfiles/Gemfile.rails-4.0 +0 -33
- data/gemfiles/Gemfile.rails-4.1 +0 -37
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'active_record'
|
2
|
+
|
3
|
+
def establish_connection
|
4
|
+
ActiveRecord::Base.establish_connection(
|
5
|
+
:adapter => "sqlite3",
|
6
|
+
:database => ":memory:"
|
7
|
+
)
|
8
|
+
end
|
9
|
+
|
10
|
+
def extend_rspec_with_activerecord_specific_matchers
|
11
|
+
RSpec::Matchers::BuiltIn::OperatorMatcher.register(ActiveRecord::Relation, '=~', RSpec::Matchers::BuiltIn::ContainExactly)
|
12
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'mongoid'
|
2
|
+
|
3
|
+
def mongoid_major_version
|
4
|
+
Mongoid::VERSION.split('.').first.to_i
|
5
|
+
end
|
6
|
+
|
7
|
+
def mongoid_config
|
8
|
+
"spec/support/adapters/mongoid_#{mongoid_major_version}.yml"
|
9
|
+
end
|
10
|
+
|
11
|
+
def load_mongoid_config
|
12
|
+
Mongoid.load!(mongoid_config, :test)
|
13
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rolify
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 6.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Florent Monbillard
|
8
|
-
|
8
|
+
- Wellington Cordeiro
|
9
|
+
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date:
|
12
|
+
date: 2021-04-25 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: ammeter
|
@@ -16,67 +17,85 @@ dependencies:
|
|
16
17
|
requirements:
|
17
18
|
- - "~>"
|
18
19
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.1
|
20
|
+
version: '1.1'
|
20
21
|
type: :development
|
21
22
|
prerelease: false
|
22
23
|
version_requirements: !ruby/object:Gem::Requirement
|
23
24
|
requirements:
|
24
25
|
- - "~>"
|
25
26
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.1
|
27
|
+
version: '1.1'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: appraisal
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - "~>"
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '2.0'
|
35
|
+
type: :development
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - "~>"
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '2.0'
|
27
42
|
- !ruby/object:Gem::Dependency
|
28
43
|
name: bundler
|
29
44
|
requirement: !ruby/object:Gem::Requirement
|
30
45
|
requirements:
|
31
|
-
- - "
|
46
|
+
- - "~>"
|
32
47
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
48
|
+
version: '2.0'
|
34
49
|
type: :development
|
35
50
|
prerelease: false
|
36
51
|
version_requirements: !ruby/object:Gem::Requirement
|
37
52
|
requirements:
|
38
|
-
- - "
|
53
|
+
- - "~>"
|
39
54
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
55
|
+
version: '2.0'
|
41
56
|
- !ruby/object:Gem::Dependency
|
42
57
|
name: rake
|
43
58
|
requirement: !ruby/object:Gem::Requirement
|
44
59
|
requirements:
|
45
60
|
- - "~>"
|
46
61
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
62
|
+
version: '12.3'
|
48
63
|
type: :development
|
49
64
|
prerelease: false
|
50
65
|
version_requirements: !ruby/object:Gem::Requirement
|
51
66
|
requirements:
|
52
67
|
- - "~>"
|
53
68
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
69
|
+
version: '12.3'
|
55
70
|
- !ruby/object:Gem::Dependency
|
56
71
|
name: rspec-rails
|
57
72
|
requirement: !ruby/object:Gem::Requirement
|
58
73
|
requirements:
|
59
|
-
- -
|
74
|
+
- - "~>"
|
60
75
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
76
|
+
version: '3.8'
|
62
77
|
type: :development
|
63
78
|
prerelease: false
|
64
79
|
version_requirements: !ruby/object:Gem::Requirement
|
65
80
|
requirements:
|
66
|
-
- -
|
81
|
+
- - "~>"
|
67
82
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
83
|
+
version: '3.8'
|
69
84
|
description: Very simple Roles library without any authorization enforcement supporting
|
70
85
|
scope on resource objects (instance or class). Supports ActiveRecord and Mongoid
|
71
86
|
ORMs.
|
72
87
|
email:
|
73
88
|
- f.monbillard@gmail.com
|
89
|
+
- wellington@wellingtoncordeiro.com
|
74
90
|
executables: []
|
75
91
|
extensions: []
|
76
92
|
extra_rdoc_files: []
|
77
93
|
files:
|
94
|
+
- ".github/workflows/activerecord.yml"
|
95
|
+
- ".github/workflows/mongoid.yml"
|
78
96
|
- ".gitignore"
|
79
|
-
- ".
|
97
|
+
- ".hakiri.yml"
|
98
|
+
- Appraisals
|
80
99
|
- CHANGELOG.rdoc
|
81
100
|
- CONTRIBUTORS
|
82
101
|
- Gemfile
|
@@ -84,12 +103,16 @@ files:
|
|
84
103
|
- README.md
|
85
104
|
- Rakefile
|
86
105
|
- UPGRADE.rdoc
|
87
|
-
- gemfiles/
|
88
|
-
- gemfiles/
|
89
|
-
- gemfiles/
|
106
|
+
- gemfiles/activerecord_4.gemfile
|
107
|
+
- gemfiles/activerecord_5.gemfile
|
108
|
+
- gemfiles/activerecord_6.gemfile
|
109
|
+
- gemfiles/mongoid_5.gemfile
|
110
|
+
- gemfiles/mongoid_6.gemfile
|
111
|
+
- gemfiles/mongoid_7.gemfile
|
90
112
|
- lib/generators/active_record/rolify_generator.rb
|
91
113
|
- lib/generators/active_record/templates/README
|
92
114
|
- lib/generators/active_record/templates/migration.rb
|
115
|
+
- lib/generators/active_record/templates/model.rb
|
93
116
|
- lib/generators/mongoid/rolify_generator.rb
|
94
117
|
- lib/generators/mongoid/templates/README-mongoid
|
95
118
|
- lib/generators/rolify/rolify_generator.rb
|
@@ -117,6 +140,7 @@ files:
|
|
117
140
|
- lib/rolify/version.rb
|
118
141
|
- rolify.gemspec
|
119
142
|
- spec/README.rdoc
|
143
|
+
- spec/common_helper.rb
|
120
144
|
- spec/generators/rolify/rolify_activerecord_generator_spec.rb
|
121
145
|
- spec/generators/rolify/rolify_mongoid_generator_spec.rb
|
122
146
|
- spec/generators_helper.rb
|
@@ -142,10 +166,15 @@ files:
|
|
142
166
|
- spec/rolify/shared_examples/shared_examples_for_remove_role.rb
|
143
167
|
- spec/rolify/shared_examples/shared_examples_for_roles.rb
|
144
168
|
- spec/rolify/shared_examples/shared_examples_for_scopes.rb
|
169
|
+
- spec/rolify/utils_spec.rb
|
145
170
|
- spec/spec_helper.rb
|
146
171
|
- spec/support/adapters/active_record.rb
|
147
172
|
- spec/support/adapters/mongoid.rb
|
148
|
-
- spec/support/adapters/
|
173
|
+
- spec/support/adapters/mongoid_5.yml
|
174
|
+
- spec/support/adapters/mongoid_6.yml
|
175
|
+
- spec/support/adapters/mongoid_7.yml
|
176
|
+
- spec/support/adapters/utils/active_record.rb
|
177
|
+
- spec/support/adapters/utils/mongoid.rb
|
149
178
|
- spec/support/data.rb
|
150
179
|
- spec/support/schema.rb
|
151
180
|
- spec/support/stream_helpers.rb
|
@@ -153,7 +182,7 @@ homepage: https://github.com/RolifyCommunity/rolify
|
|
153
182
|
licenses:
|
154
183
|
- MIT
|
155
184
|
metadata: {}
|
156
|
-
post_install_message:
|
185
|
+
post_install_message:
|
157
186
|
rdoc_options: []
|
158
187
|
require_paths:
|
159
188
|
- lib
|
@@ -161,20 +190,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
161
190
|
requirements:
|
162
191
|
- - ">="
|
163
192
|
- !ruby/object:Gem::Version
|
164
|
-
version: '
|
193
|
+
version: '2.5'
|
165
194
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
166
195
|
requirements:
|
167
196
|
- - ">="
|
168
197
|
- !ruby/object:Gem::Version
|
169
198
|
version: '0'
|
170
199
|
requirements: []
|
171
|
-
|
172
|
-
|
173
|
-
signing_key:
|
200
|
+
rubygems_version: 3.2.15
|
201
|
+
signing_key:
|
174
202
|
specification_version: 4
|
175
203
|
summary: Roles library with resource scoping
|
176
204
|
test_files:
|
177
205
|
- spec/README.rdoc
|
206
|
+
- spec/common_helper.rb
|
178
207
|
- spec/generators/rolify/rolify_activerecord_generator_spec.rb
|
179
208
|
- spec/generators/rolify/rolify_mongoid_generator_spec.rb
|
180
209
|
- spec/generators_helper.rb
|
@@ -200,10 +229,15 @@ test_files:
|
|
200
229
|
- spec/rolify/shared_examples/shared_examples_for_remove_role.rb
|
201
230
|
- spec/rolify/shared_examples/shared_examples_for_roles.rb
|
202
231
|
- spec/rolify/shared_examples/shared_examples_for_scopes.rb
|
232
|
+
- spec/rolify/utils_spec.rb
|
203
233
|
- spec/spec_helper.rb
|
204
234
|
- spec/support/adapters/active_record.rb
|
205
235
|
- spec/support/adapters/mongoid.rb
|
206
|
-
- spec/support/adapters/
|
236
|
+
- spec/support/adapters/mongoid_5.yml
|
237
|
+
- spec/support/adapters/mongoid_6.yml
|
238
|
+
- spec/support/adapters/mongoid_7.yml
|
239
|
+
- spec/support/adapters/utils/active_record.rb
|
240
|
+
- spec/support/adapters/utils/mongoid.rb
|
207
241
|
- spec/support/data.rb
|
208
242
|
- spec/support/schema.rb
|
209
243
|
- spec/support/stream_helpers.rb
|
data/.travis.yml
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
sudo: false
|
3
|
-
|
4
|
-
rvm:
|
5
|
-
- 2.2.2
|
6
|
-
- 2.1.2
|
7
|
-
- 2.0.0
|
8
|
-
|
9
|
-
|
10
|
-
before_install:
|
11
|
-
- gem update --system
|
12
|
-
- gem install bundler
|
13
|
-
- gem --version
|
14
|
-
|
15
|
-
script: bundle exec rake
|
16
|
-
|
17
|
-
env:
|
18
|
-
- ADAPTER=active_record
|
19
|
-
- ADAPTER=mongoid
|
20
|
-
|
21
|
-
services: mongodb
|
22
|
-
|
23
|
-
addons:
|
24
|
-
code_climate:
|
25
|
-
repo_token: 6bd8d374b120a5449b9a4b7dfda40cc0609dbade48a1b6655f04a9bc8de3a3ee
|
data/gemfiles/Gemfile.rails-3.2
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
source 'https://rubygems.org'
|
2
|
-
|
3
|
-
platforms :rbx do
|
4
|
-
gem 'psych'
|
5
|
-
gem 'rubinius-coverage', '~> 2.0'
|
6
|
-
end
|
7
|
-
|
8
|
-
group :test do
|
9
|
-
gem 'railties', '~> 3.2', '< 4.0'
|
10
|
-
case ENV['ADAPTER']
|
11
|
-
when nil, 'active_record'
|
12
|
-
gem 'activerecord-jdbcsqlite3-adapter', '>= 1.3.0.rc', :platform => 'jruby'
|
13
|
-
#Fix sqlite3 version for rbx until rubinus is updated
|
14
|
-
#https://github.com/travis-ci/travis-ci/issues/2006
|
15
|
-
gem 'sqlite3', '1.3.8', :platform => 'ruby'
|
16
|
-
gem 'activerecord', '~> 3.2.0', :require => 'active_record'
|
17
|
-
when 'mongoid'
|
18
|
-
gem 'mongoid', '>= 3.1'
|
19
|
-
gem 'bson_ext', :platform => 'ruby'
|
20
|
-
else
|
21
|
-
raise "Unknown model adapter: #{ENV['ADAPTER']}"
|
22
|
-
end
|
23
|
-
|
24
|
-
gem 'coveralls', :require => false
|
25
|
-
end
|
26
|
-
|
27
|
-
gemspec :path => '../'
|
data/gemfiles/Gemfile.rails-4.0
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
source 'https://rubygems.org'
|
2
|
-
|
3
|
-
platforms :rbx do
|
4
|
-
gem 'psych'
|
5
|
-
gem 'rubinius-coverage', '~> 2.0'
|
6
|
-
end
|
7
|
-
|
8
|
-
group :test do
|
9
|
-
gem 'railties', '~> 4.0.1', '< 4.1'
|
10
|
-
gem 'ammeter'
|
11
|
-
gem 'rake'
|
12
|
-
gem 'rspec'
|
13
|
-
gem 'its'
|
14
|
-
gem 'rspec-rails'
|
15
|
-
gem 'fuubar'
|
16
|
-
gem 'bundler'
|
17
|
-
|
18
|
-
gem 'coveralls', :require => false
|
19
|
-
|
20
|
-
case ENV['ADAPTER']
|
21
|
-
when nil, 'active_record'
|
22
|
-
gem 'activerecord', '~> 4.0.1', :require => 'active_record'
|
23
|
-
gem 'activerecord-jdbcsqlite3-adapter', '~> 1.3.5', :platform => 'jruby'
|
24
|
-
#Fix sqlite3 version for rbx until rubinus is updated
|
25
|
-
#https://github.com/travis-ci/travis-ci/issues/2006
|
26
|
-
gem 'sqlite3', '1.3.8', :platform => 'ruby'
|
27
|
-
when 'mongoid'
|
28
|
-
gem 'mongoid', github: 'mongoid/mongoid'
|
29
|
-
gem 'bson_ext', :platform => 'ruby'
|
30
|
-
else
|
31
|
-
raise "Unknown model adapter: #{ENV['ADAPTER']}"
|
32
|
-
end
|
33
|
-
end
|
data/gemfiles/Gemfile.rails-4.1
DELETED
@@ -1,37 +0,0 @@
|
|
1
|
-
source 'https://rubygems.org'
|
2
|
-
|
3
|
-
platforms :rbx do
|
4
|
-
gem 'psych'
|
5
|
-
gem 'rubinius-coverage', '~> 2.0'
|
6
|
-
end
|
7
|
-
|
8
|
-
group :test do
|
9
|
-
gem 'rails', github: 'rails/rails', branch: '4-1-stable'
|
10
|
-
# There is currently an active record bug in Rails 4.1.0, this is a workaround until 4.1.1 is released
|
11
|
-
# See https://github.com/rails/rails/issues/13648
|
12
|
-
# Without this patch, Resource.with_role(:role, User.first).count throws an SQL syntax exception
|
13
|
-
#gem 'railties', '~> 4.1.0'
|
14
|
-
gem 'ammeter'
|
15
|
-
gem 'rake'
|
16
|
-
gem 'rspec'
|
17
|
-
gem 'its'
|
18
|
-
gem 'rspec-rails'
|
19
|
-
gem 'fuubar'
|
20
|
-
gem 'bundler'
|
21
|
-
|
22
|
-
gem 'coveralls', :require => false
|
23
|
-
|
24
|
-
case ENV['ADAPTER']
|
25
|
-
when nil, 'active_record'
|
26
|
-
gem 'activerecord', '~> 4.1.0', :require => 'active_record'
|
27
|
-
gem 'activerecord-jdbcsqlite3-adapter', '~> 1.3.5', :platform => 'jruby'
|
28
|
-
#Fix sqlite3 version for rbx until rubinus is updated
|
29
|
-
#https://github.com/travis-ci/travis-ci/issues/2006
|
30
|
-
gem 'sqlite3', '1.3.8', :platform => 'ruby'
|
31
|
-
when 'mongoid'
|
32
|
-
gem 'mongoid', github: 'mongoid/mongoid'
|
33
|
-
gem 'bson_ext', :platform => 'ruby'
|
34
|
-
else
|
35
|
-
raise "Unknown model adapter: #{ENV['ADAPTER']}"
|
36
|
-
end
|
37
|
-
end
|