rolify 5.3.0 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 63187a09a4130c5a7f1066f306783ac5c2fba4e54d5f7130e4b60bdc921b7834
4
- data.tar.gz: f66383e7b30ead36d1f2dac277cb473dc41479db4656a4bea0ac85f6c6253f69
3
+ metadata.gz: 39183b0e66a9dfdbe636059ec28145106f14347129676c334598ff4f330edfc0
4
+ data.tar.gz: 686c5b98efcc79e84b104cca586053b920032cbc0bf7978baa0b1caa04e021bb
5
5
  SHA512:
6
- metadata.gz: 6e212c338c8f11662d4bf7f267ae4ecf7e9a4206667cf051053cbaf55b72bd9ba08f7022aed3f85737e29919c3b045129bdec8dfb2922dcb1544232583ce6fcd
7
- data.tar.gz: e0d2c815832045141b1be4ff76a419704785d57e7195b9c18cafa35885267a4cecd3cf9b11ce7952192317d47ae57115d4831860694227aceb072ac56e5ed9ad
6
+ metadata.gz: a24f0ef337c8c5d1b9381e30020ba18c790193f4b00085cbd2581f25d6322d5ffeee099a22a43b4b4c86de66a2774364f799426ae71ed331027d5e565a06be72
7
+ data.tar.gz: b1d55761a7a5df75a9c1f462ca04232c44e81adcc180ece7232386f0c6f4dff0441cc463e674075c5906fc3c3ddcc71922dd20cf2129eecff099fa604db56b94
@@ -0,0 +1,27 @@
1
+ name: activerecord
2
+ on: [push]
3
+ jobs:
4
+ ubuntu:
5
+ runs-on: ubuntu-latest
6
+ continue-on-error: true
7
+ strategy:
8
+ matrix:
9
+ gemfile: [activerecord_4, activerecord_5, activerecord_6]
10
+ ruby: [2.5.7, 2.6.5, 2.7.2]
11
+ env:
12
+ BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile
13
+ ADAPTER: active_record
14
+ steps:
15
+ - uses: actions/checkout@v2
16
+ - name: Setup ruby
17
+ uses: ruby/setup-ruby@v1
18
+ with:
19
+ ruby-version: ${{ matrix.ruby }}
20
+ - run: sudo apt-get install -y libsqlite3-dev
21
+ - run: gem update --system
22
+ - run: gem install bundler
23
+ - run: gem --version
24
+ - run: bundle install
25
+ - name: Run Tests
26
+ run: |
27
+ bundle exec rake
@@ -0,0 +1,32 @@
1
+ name: mongoid
2
+ on: [push]
3
+ jobs:
4
+ ubuntu:
5
+ runs-on: ubuntu-latest
6
+ continue-on-error: true
7
+ services:
8
+ mongodb:
9
+ image: mongo:3.4.23
10
+ ports:
11
+ - 27017:27017
12
+ strategy:
13
+ matrix:
14
+ gemfile: [mongoid_5]
15
+ ruby: [2.5.7, 2.6.5, 2.7.2]
16
+ env:
17
+ BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile
18
+ ADAPTER: mongoid
19
+ steps:
20
+ - uses: actions/checkout@v2
21
+ - name: Setup ruby
22
+ uses: ruby/setup-ruby@v1
23
+ with:
24
+ ruby-version: ${{ matrix.ruby }}
25
+ - run: sudo apt-get install -y libsqlite3-dev
26
+ - run: gem update --system
27
+ - run: gem install bundler
28
+ - run: gem --version
29
+ - run: bundle install
30
+ - name: Run Tests
31
+ run: |
32
+ bundle exec rake
data/Appraisals CHANGED
@@ -29,12 +29,6 @@ appraise 'activerecord-5' do
29
29
  gem "actionpack", "~> 5.2.4"
30
30
  gem "activemodel", "~> 5.2.4"
31
31
  gem "railties", "~> 5.2.4"
32
-
33
- gem 'rspec-rails' , github: 'rspec/rspec-rails'
34
- gem 'rspec-core' , github: 'rspec/rspec-core'
35
- gem 'rspec-expectations', github: 'rspec/rspec-expectations'
36
- gem 'rspec-mocks' , github: 'rspec/rspec-mocks'
37
- gem 'rspec-support' , github: 'rspec/rspec-support'
38
32
  end
39
33
 
40
34
  appraise 'activerecord-6' do
@@ -45,10 +39,4 @@ appraise 'activerecord-6' do
45
39
  gem "actionpack", ">= 6.0.0"
46
40
  gem "activemodel", ">= 6.0.0"
47
41
  gem "railties", ">= 6.0.0"
48
-
49
- gem 'rspec-rails' , github: 'rspec/rspec-rails'
50
- gem 'rspec-core' , github: 'rspec/rspec-core'
51
- gem 'rspec-expectations', github: 'rspec/rspec-expectations'
52
- gem 'rspec-mocks' , github: 'rspec/rspec-mocks'
53
- gem 'rspec-support' , github: 'rspec/rspec-support'
54
42
  end
data/CHANGELOG.rdoc CHANGED
@@ -1,3 +1,14 @@
1
+ = 6.0.0 (April 2, 2021)
2
+
3
+ Breaking changes:
4
+
5
+ * Support strict <tt>with_role</tt> queries. Note this changes behaviour of with_role when running in strict mode to behave as previously documented. #543 describes the behaviour change.
6
+ * Dropped support for Ruby 2.3 and 2.4
7
+
8
+ Improvements:
9
+
10
+ * Updated ActiveRecord adapters implementation of <tt>in</tt> to utilise a subquery instead of two queries
11
+
1
12
  = 5.3.0 (June 1, 2020)
2
13
 
3
14
  5.3.0 will be the last version to support Ruby < 2.5 and Rails < 5.2. Support for these will be dropped in the next major release.
data/Gemfile CHANGED
@@ -1,15 +1,15 @@
1
1
  source "https://rubygems.org"
2
2
 
3
3
  group :test do
4
- gem 'appraisal'
5
- gem 'coveralls', :require => false
4
+ gem 'codeclimate-test-reporter', require: nil
5
+ gem 'coveralls', require: false
6
+ gem 'database_cleaner', '~> 1.6.2'
6
7
  gem 'its'
7
- gem 'pry', '< 0.13.0' # pry pins can be removed when we drop Ruby 2.3
8
- gem 'byebug'
9
- gem 'pry-byebug', '< 3.8.0'
10
8
  gem 'test-unit' # Implicitly loaded by ammeter
11
- gem 'database_cleaner', '~> 1.6.2'
12
- gem 'codeclimate-test-reporter', :require => nil
9
+
10
+ gem 'byebug'
11
+ gem 'pry'
12
+ gem 'pry-byebug'
13
13
  end
14
14
 
15
15
  gemspec
data/Rakefile CHANGED
@@ -15,7 +15,7 @@ RSpec::Core::RakeTask.new(:rolify) do |task|
15
15
  task.pattern = 'spec/rolify/**/*_spec.rb'
16
16
  end
17
17
 
18
- if !ENV["APPRAISAL_INITIALIZED"] && !ENV["TRAVIS"]
18
+ if !ENV["APPRAISAL_INITIALIZED"] && !ENV["CI"]
19
19
  task :default => :appraisal
20
20
  else
21
21
  task :default => [ :spec, 'coveralls:push' ]
@@ -7,15 +7,14 @@ gem "activerecord", "~> 4.2.11", require: "active_record"
7
7
  gem "bigdecimal", "1.4.2"
8
8
 
9
9
  group :test do
10
- gem "appraisal"
10
+ gem "codeclimate-test-reporter", require: nil
11
11
  gem "coveralls", require: false
12
+ gem "database_cleaner", "~> 1.6.2"
12
13
  gem "its"
13
- gem "pry", "< 0.13.0"
14
- gem "byebug"
15
- gem "pry-byebug", "< 3.8.0"
16
14
  gem "test-unit"
17
- gem "database_cleaner", "~> 1.6.2"
18
- gem "codeclimate-test-reporter", require: nil
15
+ gem "byebug"
16
+ gem "pry"
17
+ gem "pry-byebug"
19
18
  end
20
19
 
21
20
  gemspec path: "../"
@@ -7,22 +7,16 @@ gem "activerecord", "~> 5.2.4", require: "active_record"
7
7
  gem "actionpack", "~> 5.2.4"
8
8
  gem "activemodel", "~> 5.2.4"
9
9
  gem "railties", "~> 5.2.4"
10
- gem "rspec-rails", github: "rspec/rspec-rails"
11
- gem "rspec-core", github: "rspec/rspec-core"
12
- gem "rspec-expectations", github: "rspec/rspec-expectations"
13
- gem "rspec-mocks", github: "rspec/rspec-mocks"
14
- gem "rspec-support", github: "rspec/rspec-support"
15
10
 
16
11
  group :test do
17
- gem "appraisal"
12
+ gem "codeclimate-test-reporter", require: nil
18
13
  gem "coveralls", require: false
14
+ gem "database_cleaner", "~> 1.6.2"
19
15
  gem "its"
20
- gem "pry", "< 0.13.0"
21
- gem "byebug"
22
- gem "pry-byebug", "< 3.8.0"
23
16
  gem "test-unit"
24
- gem "database_cleaner", "~> 1.6.2"
25
- gem "codeclimate-test-reporter", require: nil
17
+ gem "byebug"
18
+ gem "pry"
19
+ gem "pry-byebug"
26
20
  end
27
21
 
28
22
  gemspec path: "../"
@@ -7,22 +7,16 @@ gem "activerecord", ">= 6.0.0", require: "active_record"
7
7
  gem "actionpack", ">= 6.0.0"
8
8
  gem "activemodel", ">= 6.0.0"
9
9
  gem "railties", ">= 6.0.0"
10
- gem "rspec-rails", github: "rspec/rspec-rails"
11
- gem "rspec-core", github: "rspec/rspec-core"
12
- gem "rspec-expectations", github: "rspec/rspec-expectations"
13
- gem "rspec-mocks", github: "rspec/rspec-mocks"
14
- gem "rspec-support", github: "rspec/rspec-support"
15
10
 
16
11
  group :test do
17
- gem "appraisal"
12
+ gem "codeclimate-test-reporter", require: nil
18
13
  gem "coveralls", require: false
14
+ gem "database_cleaner", "~> 1.6.2"
19
15
  gem "its"
20
- gem "pry", "< 0.13.0"
21
- gem "byebug"
22
- gem "pry-byebug", "< 3.8.0"
23
16
  gem "test-unit"
24
- gem "database_cleaner", "~> 1.6.2"
25
- gem "codeclimate-test-reporter", require: nil
17
+ gem "byebug"
18
+ gem "pry"
19
+ gem "pry-byebug"
26
20
  end
27
21
 
28
22
  gemspec path: "../"
@@ -7,15 +7,14 @@ gem "bson_ext", "1.5.1"
7
7
  gem "bigdecimal", "1.4.2"
8
8
 
9
9
  group :test do
10
- gem "appraisal"
10
+ gem "codeclimate-test-reporter", require: nil
11
11
  gem "coveralls", require: false
12
+ gem "database_cleaner", "~> 1.6.2"
12
13
  gem "its"
13
- gem "pry", "< 0.13.0"
14
- gem "byebug"
15
- gem "pry-byebug", "< 3.8.0"
16
14
  gem "test-unit"
17
- gem "database_cleaner", "~> 1.6.2"
18
- gem "codeclimate-test-reporter", require: nil
15
+ gem "byebug"
16
+ gem "pry"
17
+ gem "pry-byebug"
19
18
  end
20
19
 
21
20
  gemspec path: "../"
@@ -6,15 +6,14 @@ gem "mongoid", "~> 6"
6
6
  gem "bson_ext", "1.5.1"
7
7
 
8
8
  group :test do
9
- gem "appraisal"
9
+ gem "codeclimate-test-reporter", require: nil
10
10
  gem "coveralls", require: false
11
+ gem "database_cleaner", "~> 1.6.2"
11
12
  gem "its"
12
- gem "pry", "< 0.13.0"
13
- gem "byebug"
14
- gem "pry-byebug", "< 3.8.0"
15
13
  gem "test-unit"
16
- gem "database_cleaner", "~> 1.6.2"
17
- gem "codeclimate-test-reporter", require: nil
14
+ gem "byebug"
15
+ gem "pry"
16
+ gem "pry-byebug"
18
17
  end
19
18
 
20
19
  gemspec path: "../"
@@ -7,15 +7,14 @@ gem "bson_ext", "1.5.1"
7
7
  gem "railties", "5.2.4.1"
8
8
 
9
9
  group :test do
10
- gem "appraisal"
10
+ gem "codeclimate-test-reporter", require: nil
11
11
  gem "coveralls", require: false
12
+ gem "database_cleaner", "~> 1.6.2"
12
13
  gem "its"
13
- gem "pry", "< 0.13.0"
14
- gem "byebug"
15
- gem "pry-byebug", "< 3.8.0"
16
14
  gem "test-unit"
17
- gem "database_cleaner", "~> 1.6.2"
18
- gem "codeclimate-test-reporter", require: nil
15
+ gem "byebug"
16
+ gem "pry"
17
+ gem "pry-byebug"
19
18
  end
20
19
 
21
20
  gemspec path: "../"
@@ -26,7 +26,7 @@ module Rolify
26
26
  end
27
27
 
28
28
  def in(relation, user, role_names)
29
- roles = user.roles.where(:name => role_names).select("#{quote_table(role_class.table_name)}.#{quote_column(role_class.primary_key)}").to_a
29
+ roles = user.roles.where(:name => role_names).select("#{quote_table(role_class.table_name)}.#{quote_column(role_class.primary_key)}")
30
30
  relation.where("#{quote_table(role_class.table_name)}.#{quote_column(role_class.primary_key)} IN (?) AND ((#{quote_table(role_class.table_name)}.resource_id = #{quote_table(relation.table_name)}.#{quote_column(relation.primary_key)}) OR (#{quote_table(role_class.table_name)}.resource_id IS NULL))", roles)
31
31
  end
32
32
 
@@ -9,14 +9,20 @@ module Rolify
9
9
  end
10
10
 
11
11
  def where_strict(relation, args)
12
- return relation.where(:name => args[:name]) if args[:resource].blank?
13
- resource = if args[:resource].is_a?(Class)
14
- {class: args[:resource].to_s, id: nil}
15
- else
16
- {class: args[:resource].class.name, id: args[:resource].id}
17
- end
18
-
19
- relation.where(:name => args[:name], :resource_type => resource[:class], :resource_id => resource[:id])
12
+ wrap_conditions = relation.name != role_class.name
13
+
14
+ conditions = if args[:resource].is_a?(Class)
15
+ {:resource_type => args[:resource].to_s, :resource_id => nil }
16
+ elsif args[:resource].present?
17
+ {:resource_type => args[:resource].class.name, :resource_id => args[:resource].id}
18
+ else
19
+ {}
20
+ end
21
+
22
+ conditions.merge!(:name => args[:name])
23
+ conditions = wrap_conditions ? { role_table => conditions } : conditions
24
+
25
+ relation.where(conditions)
20
26
  end
21
27
 
22
28
  def find_cached(relation, args)
@@ -67,9 +73,9 @@ module Rolify
67
73
  relation.where("#{column} IS NOT NULL")
68
74
  end
69
75
 
70
- def scope(relation, conditions)
76
+ def scope(relation, conditions, strict)
71
77
  query = relation.joins(:roles)
72
- query = where(query, conditions)
78
+ query = strict ? where_strict(query, conditions) : where(query, conditions)
73
79
  query
74
80
  end
75
81
 
@@ -9,14 +9,20 @@ module Rolify
9
9
  end
10
10
 
11
11
  def where_strict(relation, args)
12
- return relation.where(:name => args[:name]) if args[:resource].blank?
13
- resource = if args[:resource].is_a?(Class)
14
- {class: args[:resource].to_s, id: nil}
15
- else
16
- {class: args[:resource].class.name, id: args[:resource].id}
17
- end
18
-
19
- relation.where(:name => args[:name], :resource_type => resource[:class], :resource_id => resource[:id])
12
+ wrap_conditions = relation.name != role_class.name
13
+
14
+ conditions = if args[:resource].is_a?(Class)
15
+ {:resource_type => args[:resource].to_s, :resource_id => nil }
16
+ elsif args[:resource].present?
17
+ {:resource_type => args[:resource].class.name, :resource_id => args[:resource].id}
18
+ else
19
+ {}
20
+ end
21
+
22
+ conditions.merge!(:name => args[:name])
23
+ conditions = wrap_conditions ? { role_table => conditions } : conditions
24
+
25
+ relation.where(conditions)
20
26
  end
21
27
 
22
28
  def find_cached(relation, args)
@@ -84,8 +90,9 @@ module Rolify
84
90
  relation.where(column.to_sym.ne => nil)
85
91
  end
86
92
 
87
- def scope(relation, conditions)
88
- roles = where(role_class, conditions).map { |role| role.id }
93
+ def scope(relation, conditions, strict)
94
+ query = strict ? where_strict(role_class, conditions) : where(role_class, conditions)
95
+ roles = query.map { |role| role.id }
89
96
  return [] if roles.size.zero?
90
97
  query = relation.any_in(:role_ids => roles)
91
98
  query
@@ -1,7 +1,12 @@
1
1
  module Rolify
2
2
  module Finders
3
3
  def with_role(role_name, resource = nil)
4
- self.adapter.scope(self, :name => role_name, :resource => resource)
4
+ strict = self.strict_rolify and resource and resource != :any
5
+ self.adapter.scope(
6
+ self,
7
+ { :name => role_name, :resource => resource },
8
+ strict
9
+ )
5
10
  end
6
11
 
7
12
  def without_role(role_name, resource = nil)
@@ -11,7 +11,7 @@ module Rolify
11
11
 
12
12
  def with_role(role_name, user = nil)
13
13
  if role_name.is_a? Array
14
- role_name.map!(&:to_s)
14
+ role_name = role_name.map(&:to_s)
15
15
  else
16
16
  role_name = role_name.to_s
17
17
  end
@@ -1,3 +1,3 @@
1
1
  module Rolify
2
- VERSION = "5.3.0"
2
+ VERSION = "6.0.0"
3
3
  end
data/rolify.gemspec CHANGED
@@ -26,9 +26,10 @@ Gem::Specification.new do |s|
26
26
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
27
27
  s.require_paths = ['lib']
28
28
 
29
- s.required_ruby_version = '>= 2.3'
29
+ s.required_ruby_version = '>= 2.5'
30
30
 
31
31
  s.add_development_dependency 'ammeter', '~> 1.1' # Spec generator
32
+ s.add_development_dependency 'appraisal', '~> 2.0'
32
33
  s.add_development_dependency 'bundler', '~> 2.0' # packaging feature
33
34
  s.add_development_dependency 'rake', '~> 12.3' # Tasks manager
34
35
  s.add_development_dependency 'rspec-rails', '~> 3.8'
@@ -4,47 +4,65 @@ shared_examples_for :finders do |param_name, param_method|
4
4
  it { should respond_to(:with_role).with(1).argument }
5
5
  it { should respond_to(:with_role).with(2).arguments }
6
6
 
7
- context "with a global role" do
8
- it { subject.with_role("admin".send(param_method)).should eq([ root ]) }
9
- it { subject.with_role("moderator".send(param_method)).should be_empty }
10
- it { subject.with_role("visitor".send(param_method)).should be_empty }
11
- end
12
-
13
- context "with a class scoped role" do
14
- context "on Forum class" do
15
- it { subject.with_role("admin".send(param_method), Forum).should eq([ root ]) }
16
- it { subject.with_role("moderator".send(param_method), Forum).should eq([ modo ]) }
17
- it { subject.with_role("visitor".send(param_method), Forum).should be_empty }
7
+ context "when resource setting: strict is set to false" do
8
+ context "with a global role" do
9
+ it { subject.with_role("admin".send(param_method)).should eq([ root ]) }
10
+ it { subject.with_role("moderator".send(param_method)).should be_empty }
11
+ it { subject.with_role("visitor".send(param_method)).should be_empty }
18
12
  end
19
13
 
20
- context "on Group class" do
21
- it { subject.with_role("admin".send(param_method), Group).should eq([ root ]) }
22
- it { subject.with_role("moderator".send(param_method), Group).should eq([ root ]) }
23
- it { subject.with_role("visitor".send(param_method), Group).should be_empty }
14
+ context "with a class scoped role" do
15
+ context "on Forum class" do
16
+ it { subject.with_role("admin".send(param_method), Forum).should eq([ root ]) }
17
+ it { subject.with_role("moderator".send(param_method), Forum).should eq([ modo ]) }
18
+ it { subject.with_role("visitor".send(param_method), Forum).should be_empty }
19
+ end
20
+
21
+ context "on Group class" do
22
+ it { subject.with_role("admin".send(param_method), Group).should eq([ root ]) }
23
+ it { subject.with_role("moderator".send(param_method), Group).should eq([ root ]) }
24
+ it { subject.with_role("visitor".send(param_method), Group).should be_empty }
25
+ end
24
26
  end
25
- end
26
27
 
27
- context "with an instance scoped role" do
28
- context "on Forum.first instance" do
29
- it { subject.with_role("admin".send(param_method), Forum.first).should eq([ root ]) }
30
- it { subject.with_role("moderator".send(param_method), Forum.first).should eq([ modo ]) }
31
- it { subject.with_role("visitor".send(param_method), Forum.first).should be_empty }
28
+ context "with an instance scoped role" do
29
+ context "on Forum.first instance" do
30
+ it { subject.with_role("admin".send(param_method), Forum.first).should eq([ root ]) }
31
+ it { subject.with_role("moderator".send(param_method), Forum.first).should eq([ modo ]) }
32
+ it { subject.with_role("visitor".send(param_method), Forum.first).should be_empty }
33
+ end
34
+
35
+ context "on Forum.last instance" do
36
+ it { subject.with_role("admin".send(param_method), Forum.last).should eq([ root ]) }
37
+ it { subject.with_role("moderator".send(param_method), Forum.last).should eq([ modo ]) }
38
+ it { subject.with_role("visitor".send(param_method), Forum.last).should include(root, visitor) } # =~ doesn't pass using mongoid, don't know why...
39
+ end
40
+
41
+ context "on Group.first instance" do
42
+ it { subject.with_role("admin".send(param_method), Group.first).should eq([ root ]) }
43
+ it { subject.with_role("moderator".send(param_method), Group.first).should eq([ root ]) }
44
+ it { subject.with_role("visitor".send(param_method), Group.first).should eq([ modo ]) }
45
+ end
46
+
47
+ context "on Company.first_instance" do
48
+ it { subject.with_role("owner".send(param_method), Company.first).should eq([ owner ]) }
49
+ end
32
50
  end
51
+ end
33
52
 
34
- context "on Forum.last instance" do
35
- it { subject.with_role("admin".send(param_method), Forum.last).should eq([ root ]) }
36
- it { subject.with_role("moderator".send(param_method), Forum.last).should eq([ modo ]) }
37
- it { subject.with_role("visitor".send(param_method), Forum.last).should include(root, visitor) } # =~ doesn't pass using mongoid, don't know why...
53
+ context "when resource setting: strict is set to true" do
54
+ before(:context) do
55
+ user_class.strict_rolify = true
38
56
  end
39
-
40
- context "on Group.first instance" do
41
- it { subject.with_role("admin".send(param_method), Group.first).should eq([ root ]) }
42
- it { subject.with_role("moderator".send(param_method), Group.first).should eq([ root ]) }
43
- it { subject.with_role("visitor".send(param_method), Group.first).should eq([ modo ]) }
57
+ after(:context) do
58
+ user_class.strict_rolify = false
44
59
  end
45
60
 
46
- context "on Company.first_instance" do
47
- it { subject.with_role("owner".send(param_method), Company.first).should eq([ owner ]) }
61
+ context "with an instance scoped role" do
62
+ context "on Forum.first instance" do
63
+ it { subject.with_role("admin".send(param_method), Forum.first).should be_empty }
64
+ it { subject.with_role("moderator".send(param_method), Forum.first).should be_empty }
65
+ end
48
66
  end
49
67
  end
50
68
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rolify
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.3.0
4
+ version: 6.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florent Monbillard
8
8
  - Wellington Cordeiro
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-06-01 00:00:00.000000000 Z
12
+ date: 2021-04-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: ammeter
@@ -25,6 +25,20 @@ dependencies:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
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'
28
42
  - !ruby/object:Gem::Dependency
29
43
  name: bundler
30
44
  requirement: !ruby/object:Gem::Requirement
@@ -77,9 +91,10 @@ executables: []
77
91
  extensions: []
78
92
  extra_rdoc_files: []
79
93
  files:
94
+ - ".github/workflows/activerecord.yml"
95
+ - ".github/workflows/mongoid.yml"
80
96
  - ".gitignore"
81
97
  - ".hakiri.yml"
82
- - ".travis.yml"
83
98
  - Appraisals
84
99
  - CHANGELOG.rdoc
85
100
  - CONTRIBUTORS
@@ -167,7 +182,7 @@ homepage: https://github.com/RolifyCommunity/rolify
167
182
  licenses:
168
183
  - MIT
169
184
  metadata: {}
170
- post_install_message:
185
+ post_install_message:
171
186
  rdoc_options: []
172
187
  require_paths:
173
188
  - lib
@@ -175,15 +190,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
175
190
  requirements:
176
191
  - - ">="
177
192
  - !ruby/object:Gem::Version
178
- version: '2.3'
193
+ version: '2.5'
179
194
  required_rubygems_version: !ruby/object:Gem::Requirement
180
195
  requirements:
181
196
  - - ">="
182
197
  - !ruby/object:Gem::Version
183
198
  version: '0'
184
199
  requirements: []
185
- rubygems_version: 3.1.2
186
- signing_key:
200
+ rubygems_version: 3.2.15
201
+ signing_key:
187
202
  specification_version: 4
188
203
  summary: Roles library with resource scoping
189
204
  test_files:
data/.travis.yml DELETED
@@ -1,58 +0,0 @@
1
- language: ruby
2
-
3
- before_install:
4
- - gem update --system
5
- - gem install bundler
6
- - gem --version
7
-
8
- script: bundle exec rake
9
-
10
- after_success:
11
- - bundle exec codeclimate-test-reporter
12
-
13
- rvm:
14
- - 2.7.0
15
- - 2.6.3
16
- - 2.5.5
17
- - 2.4.6
18
- - 2.3.8
19
-
20
- gemfile:
21
- - gemfiles/activerecord_4.gemfile
22
- - gemfiles/activerecord_5.gemfile
23
- - gemfiles/activerecord_6.gemfile
24
- - gemfiles/mongoid_5.gemfile
25
- - gemfiles/mongoid_6.gemfile
26
- - gemfiles/mongoid_7.gemfile
27
-
28
- env:
29
- - ADAPTER=active_record
30
- - ADAPTER=mongoid
31
-
32
- matrix:
33
- exclude:
34
- - gemfile: gemfiles/activerecord_4.gemfile
35
- env: ADAPTER=mongoid
36
- - gemfile: gemfiles/activerecord_5.gemfile
37
- env: ADAPTER=mongoid
38
- - gemfile: gemfiles/activerecord_6.gemfile
39
- env: ADAPTER=mongoid
40
- - gemfile: gemfiles/activerecord_6.gemfile
41
- rvm: 2.4.6
42
- - gemfile: gemfiles/activerecord_6.gemfile
43
- rvm: 2.3.8
44
- - gemfile: gemfiles/mongoid_5.gemfile
45
- env: ADAPTER=active_record
46
- - gemfile: gemfiles/mongoid_6.gemfile
47
- env: ADAPTER=active_record
48
- - gemfile: gemfiles/mongoid_7.gemfile
49
- env: ADAPTER=active_record
50
- allow_failures:
51
- - gemfile: gemfiles/mongoid_6.gemfile
52
- - gemfile: gemfiles/mongoid_7.gemfile
53
-
54
- services: mongodb
55
-
56
- addons:
57
- code_climate:
58
- repo_token: 6bd8d374b120a5449b9a4b7dfda40cc0609dbade48a1b6655f04a9bc8de3a3ee