consul 1.3.2 → 2.0.1

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.
data/README.md CHANGED
@@ -1,13 +1,27 @@
1
- # Consul — A next gen authorization solution
2
-
3
- [![Tests](https://github.com/makandra/consul/workflows/Tests/badge.svg)](https://github.com/makandra/consul/actions) [![Code Climate](https://codeclimate.com/github/makandra/consul.png)](https://codeclimate.com/github/makandra/consul)
1
+ <p>
2
+ <a href="https://makandra.de/">
3
+ <picture>
4
+ <source media="(prefers-color-scheme: light)" srcset="media/makandra-with-bottom-margin.light.svg">
5
+ <source media="(prefers-color-scheme: dark)" srcset="media/makandra-with-bottom-margin.dark.svg">
6
+ <img align="right" width="25%" alt="makandra" src="media/makandra-with-bottom-margin.light.svg">
7
+ </picture>
8
+ </a>
9
+
10
+ <picture>
11
+ <source media="(prefers-color-scheme: light)" srcset="media/logo.light.shapes.svg">
12
+ <source media="(prefers-color-scheme: dark)" srcset="media/logo.dark.shapes.svg">
13
+ <img width="155" alt="consul" role="heading" aria-level="1" src="media/logo.light.shapes.svg">
14
+ </picture>
15
+ </p>
16
+
17
+ [![Tests](https://github.com/makandra/consul/workflows/Tests/badge.svg)](https://github.com/makandra/consul/actions)
4
18
 
5
19
  Consul is an authorization solution for Ruby on Rails where you describe _sets of accessible things_ to control what a user can see or edit.
6
20
 
7
21
  We have used Consul in combination with [assignable_values](https://github.com/makandra/assignable_values) to solve a variety of authorization requirements ranging from boring to bizarre.
8
22
  Also see our crash course video: [Solving bizare authorization requirements with Rails](http://bizarre-authorization.talks.makandra.com/).
9
23
 
10
- Consul is tested with Rails 5.2, 6.1, 7.0, 7.1 on Ruby 2.5, 2.7, 3.2, 3.3 (only if supported, for each Ruby/Rails combination). If you need support for Rails 3.2, please use [v0.13.2](https://github.com/makandra/consul/tree/v0.13.2).
24
+ Consul is tested with Rails 6.1, 7.1, 7.2 and 8.0 on Ruby 2.5, 2.7, 3.2, 3.3 (only if supported, for each Ruby/Rails combination). If you need support for Rails 3.2, please use [v0.13.2](https://github.com/makandra/consul/tree/v0.13.2).
11
25
 
12
26
  ## Describing access to your application
13
27
 
@@ -724,18 +738,18 @@ end
724
738
 
725
739
  There is a long selection of class methods that behave neutrally in case `Power.current` is `nil`:
726
740
 
727
- | Call | Equivalent |
728
- | ---------------------------------------------- | ------------------------------------------------------------------- |
729
- | `Power.for_model(Note)` | `Power.current.present? ? Power.current.notes : Note` |
730
- | `Power.for_model(:updatable, Note)` | `Power.current.present? ? Power.current.updatable_notes : Note` |
731
- | `Power.include_model?(Note)` | `Power.current.present? ? Power.notes? : true` |
732
- | `Power.include_model?(:updatable, Note)` | `Power.current.present? ? Power.updatable_notes? : true` |
733
- | `Power.include_model!(Note)` | `Power.notes! if Power.current.present?` |
734
- | `Power.include_model!(:updatable, Note)` | `Power.updatable_notes! if Power.current.present?` |
735
- | `Power.include_record?(Note.last)` | `Power.current.present? ? Power.note?(Note.last) : true` |
736
- | `Power.include_record?(:updatable, Note.last)` | `Power.current.present? ? Power.updatable_note?(Note.last?) : true` |
737
- | `Power.include_record!(Note.last)` | `Power.note!(Note.last) if Power.current.present?` |
738
- | `Power.include_record!(:updatable, Note.last)` | `Power.updatable_note!(Note.last) if Power.current.present?` |
741
+ | Call | Equivalent |
742
+ | ---------------------------------------------- | -----------------------------------------------------------|
743
+ | `Power.for_model(Note)` | `Power.current? ? Power.current.notes : Note` |
744
+ | `Power.for_model(:updatable, Note)` | `Power.current? ? Power.current.updatable_notes : Note` |
745
+ | `Power.include_model?(Note)` | `Power.current? ? Power.notes? : true` |
746
+ | `Power.include_model?(:updatable, Note)` | `Power.current? ? Power.updatable_notes? : true` |
747
+ | `Power.include_model!(Note)` | `Power.notes! if Power.current` |
748
+ | `Power.include_model!(:updatable, Note)` | `Power.current.updatable_notes! if Power.current` |
749
+ | `Power.include_record?(Note.last)` | `Power.current ? Power.current.note?(Note.last) : true` |
750
+ | `Power.include_record?(:updatable, Note.last)` | `Power.current? ? Power.current.updatable_note?(Note.last) : true` |
751
+ | `Power.include_record!(Note.last)` | `Power.current.note!(Note.last) if Power.current` |
752
+ | `Power.include_record!(:updatable, Note.last)` | `Power.updatable_note!(Note.last) if Power.current` |
739
753
 
740
754
  ## Testing
741
755
 
@@ -820,16 +834,39 @@ Now run `bundle install` to lock the gem into your project.
820
834
 
821
835
  ## Development
822
836
 
823
- We currently develop using Ruby 2.5.3 (see `.ruby-version`) since that version works for current versions of ActiveRecord that we support. GitHub Actions will test additional Ruby versions (2.3.8, 2.4.5, and 3.0.1).
837
+ We currently develop using Ruby 3.4.1 (see `.ruby-version`) since that version works for current versions of ActiveRecord that we support. GitHub Actions will test additional Ruby versions (3.2.0, 4.0.1).
824
838
 
825
839
  There are tests in `spec`. We only accept PRs with tests. To run tests:
826
840
 
827
- - Install Ruby 2.5.3
828
- - run `bundle install`
829
- - Put your database credentials into `spec/support/database.yml`. There's a `database.sample.yml` you can use as a template.
830
- - There are gem bundles in the project root for each rails version that we support.
831
- - You can bundle all test applications by saying `bundle exec rake matrix:install`
832
- - You can run specs from the project root by saying `bundle exec rake matrix:spec`. This will run all gemfiles compatible with your current Ruby.
841
+ - First, put your database credentials into `spec/support/database.yml`. There's a `database.sample.yml` you can use as
842
+ a template.
843
+
844
+ Then, you have multiple options:
845
+
846
+ 1. Running tests for a single set of dependencies
847
+ - Install and switch to a Ruby version
848
+ - run `BUNDLE_GEMFILE=... bundle install`
849
+ - run `BUNDLE_GEMFILE=... bundle exec rspec`
850
+ - NOTE:
851
+ - There are gem bundles in the project root for each rails version that we support.
852
+ - Refer to `.github/workflows/test.yml` to see which Gemfiles are supported for which Ruby version.
853
+
854
+ 2. Run tests against a specific Ruby version and all Gemfiles for that version:
855
+ - Install and switch to the Ruby version
856
+ - Install development dependencies using `rake matrix:install`
857
+ - Run tests using `rake matrix:spec`
858
+
859
+ 3. Run tests against all Ruby versions:
860
+ - Install all Ruby versions mentioned in `.github/workflows/test.yml`
861
+ - run `dev/matrix` (only supports `rbenv` for switching Ruby versions currently)
862
+
863
+ Hints:
864
+
865
+ - Check the [gemika](github.com/makandra/gemika) README for more detailed development instructions.
866
+ - We recommend to have sufficiently new versions of bundler (> 2.3.0) and rubygems (> 3.3.0) installed for each Ruby
867
+ version.
868
+ - The script `dev/matrix` will warn you, if that is not the case. For all other methods you need to ensure that
869
+ yourself.
833
870
 
834
871
  If you would like to contribute:
835
872
 
data/consul.gemspec CHANGED
@@ -10,24 +10,24 @@ Gem::Specification.new do |s|
10
10
  s.summary = 'A scope-based authorization solution for Ruby on Rails.'
11
11
  s.description = s.summary
12
12
  s.license = 'MIT'
13
+ s.metadata = {
14
+ 'source_code_uri' => s.homepage,
15
+ 'bug_tracker_uri' => 'https://github.com/makandra/consul/issues',
16
+ 'changelog_uri' => 'https://github.com/makandra/consul/blob/master/CHANGELOG.md',
17
+ 'rubygems_mfa_required' => 'true',
18
+ }
13
19
 
14
- if RUBY_VERSION.to_f >= 2.0
15
- s.metadata = {
16
- 'source_code_uri' => s.homepage,
17
- 'bug_tracker_uri' => 'https://github.com/makandra/consul/issues',
18
- 'changelog_uri' => 'https://github.com/makandra/consul/blob/master/CHANGELOG.md',
19
- 'rubygems_mfa_required' => 'true',
20
- }
21
- end
22
-
23
- s.files = `git ls-files`.split("\n").reject { |f| f.match(%r{^(test|spec|features)/}) }
24
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
25
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
+ s.files = `git ls-files`.split("\n").reject { |f| File.symlink?(f) }.reject { |f| f.match(%r{^(spec|dev|media|.github)/}) }
26
21
  s.require_paths = ["lib"]
27
22
 
23
+ s.bindir = 'exe'
24
+ s.executables = []
25
+
26
+ s.required_ruby_version = '>= 3.0.0'
27
+
28
28
  s.add_dependency('memoized', '>=1.0.2')
29
- s.add_dependency('activerecord', '>= 3.2')
30
- s.add_dependency('activesupport', '>= 3.2')
31
- s.add_dependency('railties', '>= 3.2')
29
+ s.add_dependency('activerecord', '>= 7.2')
30
+ s.add_dependency('activesupport', '>= 7.2')
31
+ s.add_dependency('railties', '>= 7.2')
32
32
  s.add_dependency('edge_rider', '>= 0.3.0')
33
33
  end
data/lib/consul/util.rb CHANGED
@@ -3,11 +3,7 @@ module Consul
3
3
  extend self
4
4
 
5
5
  def scope_selects_all_records?(scope)
6
- if Rails.version.to_i < 3
7
- scope = scope.scoped({})
8
- else
9
- scope = scope.scoped
10
- end
6
+ scope = scope.scoped
11
7
  scope_sql = scope.to_sql
12
8
  quoted_table_name = Regexp.quote(scope.connection.quote_table_name(scope.table_name))
13
9
  all_sql_pattern = /\ASELECT (#{quoted_table_name}\.)?\* FROM #{quoted_table_name}\z/
@@ -23,26 +19,17 @@ module Consul
23
19
  end
24
20
 
25
21
  def define_scope(klass, name, lambda)
26
- if Rails.version.to_i < 4 # Rails 2/3
27
- scope_definition = Rails.version.to_i < 3 ? :named_scope : :scope
28
- klass.send scope_definition, name, lambda
29
- else
30
- klass.send :scope, name, lambda { |*args|
31
- options = lambda.call(*args)
32
- klass.scoped(options.slice *EdgeRider::Scoped::VALID_FIND_OPTIONS)
33
- }
34
- end
22
+ klass.send :scope, name, lambda { |*args|
23
+ options = lambda.call(*args)
24
+ klass.scoped(options.slice *EdgeRider::Scoped::VALID_FIND_OPTIONS)
25
+ }
35
26
  end
36
27
 
37
28
  # This method does not support dynamic default scopes via lambdas
38
29
  # (as does #define_scope), because it is currently not required.
39
30
  def define_default_scope(klass, conditions)
40
- if Rails.version.to_i < 4 # Rails 2/3
41
- klass.send :default_scope, conditions
42
- else
43
- klass.send :default_scope do
44
- klass.scoped(conditions)
45
- end
31
+ klass.send :default_scope do
32
+ klass.scoped(conditions)
46
33
  end
47
34
  end
48
35
 
@@ -58,33 +45,19 @@ module Consul
58
45
  end
59
46
 
60
47
  def skip_before_action(controller_class, name, options)
61
- if Rails.version.to_i < 4
62
- controller_class.skip_before_filter name, options
63
- elsif Rails.version.to_i < 5
64
- controller_class.skip_before_action name, options
65
- else
66
- # Every `power` in a controller will skip the power check filter. After the 1st time, Rails 5+ will raise
67
- # an error because there is no `unchecked_power` action to skip any more.
68
- # To avoid this, we add the following extra option. Note that it must not be added in Rails 4 to avoid errors.
69
- # See http://api.rubyonrails.org/classes/ActiveSupport/Callbacks/ClassMethods.html#method-i-skip_callback
70
- controller_class.skip_before_action name, { :raise => false }.merge!(options)
71
- end
48
+ # Every `power` in a controller will skip the power check filter. After the 1st time, Rails will raise
49
+ # an error because there is no `unchecked_power` action to skip any more.
50
+ # To avoid this, we add the following extra option.
51
+ # See http://api.rubyonrails.org/classes/ActiveSupport/Callbacks/ClassMethods.html#method-i-skip_callback
52
+ controller_class.skip_before_action name, { :raise => false }.merge!(options)
72
53
  end
73
54
 
74
55
  def before_action(controller_class, *args, &block)
75
- if Rails.version.to_i < 4
76
- controller_class.before_filter *args, &block
77
- else
78
- controller_class.before_action *args, &block
79
- end
56
+ controller_class.before_action *args, &block
80
57
  end
81
58
 
82
59
  def around_action(controller_class, *args, &block)
83
- if Rails.version.to_i < 4
84
- controller_class.around_filter *args, &block
85
- else
86
- controller_class.around_action *args, &block
87
- end
60
+ controller_class.around_action *args, &block
88
61
  end
89
62
 
90
63
  end
@@ -1,3 +1,3 @@
1
1
  module Consul
2
- VERSION = '1.3.2'
2
+ VERSION = '2.0.1'
3
3
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: consul
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.2
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henning Koch
8
- autorequire:
9
- bindir: bin
8
+ bindir: exe
10
9
  cert_chain: []
11
- date: 2024-08-27 00:00:00.000000000 Z
10
+ date: 2026-03-10 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: memoized
@@ -30,42 +29,42 @@ dependencies:
30
29
  requirements:
31
30
  - - ">="
32
31
  - !ruby/object:Gem::Version
33
- version: '3.2'
32
+ version: '7.2'
34
33
  type: :runtime
35
34
  prerelease: false
36
35
  version_requirements: !ruby/object:Gem::Requirement
37
36
  requirements:
38
37
  - - ">="
39
38
  - !ruby/object:Gem::Version
40
- version: '3.2'
39
+ version: '7.2'
41
40
  - !ruby/object:Gem::Dependency
42
41
  name: activesupport
43
42
  requirement: !ruby/object:Gem::Requirement
44
43
  requirements:
45
44
  - - ">="
46
45
  - !ruby/object:Gem::Version
47
- version: '3.2'
46
+ version: '7.2'
48
47
  type: :runtime
49
48
  prerelease: false
50
49
  version_requirements: !ruby/object:Gem::Requirement
51
50
  requirements:
52
51
  - - ">="
53
52
  - !ruby/object:Gem::Version
54
- version: '3.2'
53
+ version: '7.2'
55
54
  - !ruby/object:Gem::Dependency
56
55
  name: railties
57
56
  requirement: !ruby/object:Gem::Requirement
58
57
  requirements:
59
58
  - - ">="
60
59
  - !ruby/object:Gem::Version
61
- version: '3.2'
60
+ version: '7.2'
62
61
  type: :runtime
63
62
  prerelease: false
64
63
  version_requirements: !ruby/object:Gem::Requirement
65
64
  requirements:
66
65
  - - ">="
67
66
  - !ruby/object:Gem::Version
68
- version: '3.2'
67
+ version: '7.2'
69
68
  - !ruby/object:Gem::Dependency
70
69
  name: edge_rider
71
70
  requirement: !ruby/object:Gem::Requirement
@@ -86,20 +85,15 @@ executables: []
86
85
  extensions: []
87
86
  extra_rdoc_files: []
88
87
  files:
89
- - ".github/workflows/test.yml"
90
88
  - ".gitignore"
91
89
  - ".ruby-version"
92
90
  - CHANGELOG.md
93
- - Gemfile
94
- - Gemfile.5-2
95
- - Gemfile.5-2.lock
96
- - Gemfile.6-1
97
- - Gemfile.6-1.lock
98
- - Gemfile.7-0
99
- - Gemfile.7-0.lock
100
- - Gemfile.7-1
101
- - Gemfile.7-1.lock
102
- - Gemfile.lock
91
+ - Gemfile.7-2
92
+ - Gemfile.7-2.lock
93
+ - Gemfile.8-0
94
+ - Gemfile.8-0.lock
95
+ - Gemfile.8-1
96
+ - Gemfile.8-1.lock
103
97
  - LICENSE
104
98
  - README.md
105
99
  - Rakefile
@@ -122,7 +116,6 @@ metadata:
122
116
  bug_tracker_uri: https://github.com/makandra/consul/issues
123
117
  changelog_uri: https://github.com/makandra/consul/blob/master/CHANGELOG.md
124
118
  rubygems_mfa_required: 'true'
125
- post_install_message:
126
119
  rdoc_options: []
127
120
  require_paths:
128
121
  - lib
@@ -130,15 +123,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
130
123
  requirements:
131
124
  - - ">="
132
125
  - !ruby/object:Gem::Version
133
- version: '0'
126
+ version: 3.0.0
134
127
  required_rubygems_version: !ruby/object:Gem::Requirement
135
128
  requirements:
136
129
  - - ">="
137
130
  - !ruby/object:Gem::Version
138
131
  version: '0'
139
132
  requirements: []
140
- rubygems_version: 3.5.11
141
- signing_key:
133
+ rubygems_version: 3.6.2
142
134
  specification_version: 4
143
135
  summary: A scope-based authorization solution for Ruby on Rails.
144
136
  test_files: []
@@ -1,44 +0,0 @@
1
- ---
2
- name: Tests
3
- on:
4
- push:
5
- branches:
6
- - master
7
- pull_request:
8
- branches:
9
- - master
10
- jobs:
11
- test:
12
- runs-on: ubuntu-20.04
13
- strategy:
14
- fail-fast: false
15
- matrix:
16
- include:
17
- - ruby: 2.5.3
18
- gemfile: Gemfile.5-2
19
- - ruby: 2.5.3
20
- gemfile: Gemfile.6-1
21
- - ruby: 2.7.3
22
- gemfile: Gemfile.6-1
23
- - ruby: 2.7.3
24
- gemfile: Gemfile.7-0
25
- - ruby: 3.2.0
26
- gemfile: Gemfile.6-1
27
- - ruby: 3.2.0
28
- gemfile: Gemfile.7-0
29
- - ruby: 3.3.4
30
- gemfile: Gemfile.7-1
31
- env:
32
- BUNDLE_GEMFILE: "${{ matrix.gemfile }}"
33
- steps:
34
- - uses: actions/checkout@v2
35
- - name: Install ruby
36
- uses: ruby/setup-ruby@v1
37
- with:
38
- ruby-version: "${{ matrix.ruby }}"
39
- - name: Bundle
40
- run: |
41
- gem install bundler:1.17.3
42
- bundle install --no-deployment
43
- - name: Run tests
44
- run: bundle exec rspec
data/Gemfile DELETED
@@ -1 +0,0 @@
1
- Gemfile.7-1
data/Gemfile.5-2 DELETED
@@ -1,18 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- # Runtime dependencies
4
- gem 'railties', '>= 3.2'
5
- gem 'assignable_values', '>= 0.18.0'
6
-
7
- # Development dependencies
8
- gem 'rspec'
9
- gem 'rspec-rails'
10
- gem 'rspec_candy'
11
- gem 'shoulda-matchers'
12
- gem 'sqlite3'
13
- gem 'database_cleaner'
14
- gem 'gemika', '>= 0.8.1'
15
- gem 'byebug'
16
-
17
- # Gem under test
18
- gem 'consul', :path => '.'
data/Gemfile.5-2.lock DELETED
@@ -1,128 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- consul (1.3.2)
5
- activerecord (>= 3.2)
6
- activesupport (>= 3.2)
7
- edge_rider (>= 0.3.0)
8
- memoized (>= 1.0.2)
9
- railties (>= 3.2)
10
-
11
- GEM
12
- remote: https://rubygems.org/
13
- specs:
14
- actionpack (5.2.2)
15
- actionview (= 5.2.2)
16
- activesupport (= 5.2.2)
17
- rack (~> 2.0)
18
- rack-test (>= 0.6.3)
19
- rails-dom-testing (~> 2.0)
20
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
21
- actionview (5.2.2)
22
- activesupport (= 5.2.2)
23
- builder (~> 3.1)
24
- erubi (~> 1.4)
25
- rails-dom-testing (~> 2.0)
26
- rails-html-sanitizer (~> 1.0, >= 1.0.3)
27
- activemodel (5.2.2)
28
- activesupport (= 5.2.2)
29
- activerecord (5.2.2)
30
- activemodel (= 5.2.2)
31
- activesupport (= 5.2.2)
32
- arel (>= 9.0)
33
- activesupport (5.2.2)
34
- concurrent-ruby (~> 1.0, >= 1.0.2)
35
- i18n (>= 0.7, < 2)
36
- minitest (~> 5.1)
37
- tzinfo (~> 1.1)
38
- arel (9.0.0)
39
- assignable_values (0.18.0)
40
- activerecord (>= 2.3)
41
- builder (3.2.3)
42
- byebug (11.0.1)
43
- concurrent-ruby (1.1.4)
44
- crass (1.0.4)
45
- database_cleaner (1.7.0)
46
- diff-lcs (1.3)
47
- edge_rider (2.1.1)
48
- activerecord (>= 3.2)
49
- erubi (1.8.0)
50
- gemika (0.8.1)
51
- i18n (1.5.3)
52
- concurrent-ruby (~> 1.0)
53
- loofah (2.2.3)
54
- crass (~> 1.0.2)
55
- nokogiri (>= 1.5.9)
56
- memoized (1.1.1)
57
- method_source (0.9.2)
58
- mini_portile2 (2.4.0)
59
- minitest (5.11.3)
60
- nokogiri (1.10.1)
61
- mini_portile2 (~> 2.4.0)
62
- rack (2.0.6)
63
- rack-test (1.1.0)
64
- rack (>= 1.0, < 3)
65
- rails-dom-testing (2.0.3)
66
- activesupport (>= 4.2.0)
67
- nokogiri (>= 1.6)
68
- rails-html-sanitizer (1.0.4)
69
- loofah (~> 2.2, >= 2.2.2)
70
- railties (5.2.2)
71
- actionpack (= 5.2.2)
72
- activesupport (= 5.2.2)
73
- method_source
74
- rake (>= 0.8.7)
75
- thor (>= 0.19.0, < 2.0)
76
- rake (12.3.2)
77
- rspec (3.6.0)
78
- rspec-core (~> 3.6.0)
79
- rspec-expectations (~> 3.6.0)
80
- rspec-mocks (~> 3.6.0)
81
- rspec-core (3.6.0)
82
- rspec-support (~> 3.6.0)
83
- rspec-expectations (3.6.0)
84
- diff-lcs (>= 1.2.0, < 2.0)
85
- rspec-support (~> 3.6.0)
86
- rspec-mocks (3.6.0)
87
- diff-lcs (>= 1.2.0, < 2.0)
88
- rspec-support (~> 3.6.0)
89
- rspec-rails (3.6.0)
90
- actionpack (>= 3.0)
91
- activesupport (>= 3.0)
92
- railties (>= 3.0)
93
- rspec-core (~> 3.6.0)
94
- rspec-expectations (~> 3.6.0)
95
- rspec-mocks (~> 3.6.0)
96
- rspec-support (~> 3.6.0)
97
- rspec-support (3.6.0)
98
- rspec_candy (0.4.1)
99
- rspec
100
- sneaky-save
101
- shoulda-matchers (3.1.1)
102
- activesupport (>= 4.0.0)
103
- sneaky-save (0.1.2)
104
- activerecord (>= 3.2.0)
105
- sqlite3 (1.3.13)
106
- thor (0.20.3)
107
- thread_safe (0.3.6)
108
- tzinfo (1.2.5)
109
- thread_safe (~> 0.1)
110
-
111
- PLATFORMS
112
- ruby
113
-
114
- DEPENDENCIES
115
- assignable_values (>= 0.18.0)
116
- byebug
117
- consul!
118
- database_cleaner
119
- gemika (>= 0.8.1)
120
- railties (>= 3.2)
121
- rspec
122
- rspec-rails
123
- rspec_candy
124
- shoulda-matchers
125
- sqlite3
126
-
127
- BUNDLED WITH
128
- 1.17.3
data/Gemfile.6-1.lock DELETED
@@ -1,127 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- consul (1.3.2)
5
- activerecord (>= 3.2)
6
- activesupport (>= 3.2)
7
- edge_rider (>= 0.3.0)
8
- memoized (>= 1.0.2)
9
- railties (>= 3.2)
10
-
11
- GEM
12
- remote: https://rubygems.org/
13
- specs:
14
- actionpack (6.1.3)
15
- actionview (= 6.1.3)
16
- activesupport (= 6.1.3)
17
- rack (~> 2.0, >= 2.0.9)
18
- rack-test (>= 0.6.3)
19
- rails-dom-testing (~> 2.0)
20
- rails-html-sanitizer (~> 1.0, >= 1.2.0)
21
- actionview (6.1.3)
22
- activesupport (= 6.1.3)
23
- builder (~> 3.1)
24
- erubi (~> 1.4)
25
- rails-dom-testing (~> 2.0)
26
- rails-html-sanitizer (~> 1.1, >= 1.2.0)
27
- activemodel (6.1.3)
28
- activesupport (= 6.1.3)
29
- activerecord (6.1.3)
30
- activemodel (= 6.1.3)
31
- activesupport (= 6.1.3)
32
- activesupport (6.1.3)
33
- concurrent-ruby (~> 1.0, >= 1.0.2)
34
- i18n (>= 1.6, < 2)
35
- minitest (>= 5.1)
36
- tzinfo (~> 2.0)
37
- zeitwerk (~> 2.3)
38
- assignable_values (0.18.0)
39
- activerecord (>= 2.3)
40
- builder (3.2.4)
41
- concurrent-ruby (1.2.0)
42
- crass (1.0.6)
43
- database_cleaner (1.7.0)
44
- diff-lcs (1.3)
45
- edge_rider (2.1.1)
46
- activerecord (>= 3.2)
47
- erubi (1.10.0)
48
- gemika (0.8.1)
49
- i18n (1.12.0)
50
- concurrent-ruby (~> 1.0)
51
- loofah (2.9.0)
52
- crass (~> 1.0.2)
53
- nokogiri (>= 1.5.9)
54
- memoized (1.1.1)
55
- method_source (1.0.0)
56
- mini_portile2 (2.6.1)
57
- minitest (5.15.0)
58
- nokogiri (1.12.5)
59
- mini_portile2 (~> 2.6.1)
60
- racc (~> 1.4)
61
- racc (1.6.2)
62
- rack (2.2.3)
63
- rack-test (1.1.0)
64
- rack (>= 1.0, < 3)
65
- rails-dom-testing (2.0.3)
66
- activesupport (>= 4.2.0)
67
- nokogiri (>= 1.6)
68
- rails-html-sanitizer (1.3.0)
69
- loofah (~> 2.3)
70
- railties (6.1.3)
71
- actionpack (= 6.1.3)
72
- activesupport (= 6.1.3)
73
- method_source
74
- rake (>= 0.8.7)
75
- thor (~> 1.0)
76
- rake (13.0.3)
77
- rspec (3.6.0)
78
- rspec-core (~> 3.6.0)
79
- rspec-expectations (~> 3.6.0)
80
- rspec-mocks (~> 3.6.0)
81
- rspec-core (3.6.0)
82
- rspec-support (~> 3.6.0)
83
- rspec-expectations (3.6.0)
84
- diff-lcs (>= 1.2.0, < 2.0)
85
- rspec-support (~> 3.6.0)
86
- rspec-mocks (3.6.0)
87
- diff-lcs (>= 1.2.0, < 2.0)
88
- rspec-support (~> 3.6.0)
89
- rspec-rails (3.6.0)
90
- actionpack (>= 3.0)
91
- activesupport (>= 3.0)
92
- railties (>= 3.0)
93
- rspec-core (~> 3.6.0)
94
- rspec-expectations (~> 3.6.0)
95
- rspec-mocks (~> 3.6.0)
96
- rspec-support (~> 3.6.0)
97
- rspec-support (3.6.0)
98
- rspec_candy (0.4.1)
99
- rspec
100
- sneaky-save
101
- shoulda-matchers (3.1.1)
102
- activesupport (>= 4.0.0)
103
- sneaky-save (0.1.2)
104
- activerecord (>= 3.2.0)
105
- sqlite3 (1.4.2)
106
- thor (1.1.0)
107
- tzinfo (2.0.5)
108
- concurrent-ruby (~> 1.0)
109
- zeitwerk (2.6.6)
110
-
111
- PLATFORMS
112
- ruby
113
-
114
- DEPENDENCIES
115
- assignable_values
116
- consul!
117
- database_cleaner
118
- gemika (>= 0.8.1)
119
- railties (>= 3.2)
120
- rspec
121
- rspec-rails
122
- rspec_candy
123
- shoulda-matchers
124
- sqlite3
125
-
126
- BUNDLED WITH
127
- 2.2.15