ae_declarative_authorization 0.10.1 → 0.12.1.tim1

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.
Files changed (61) hide show
  1. checksums.yaml +5 -5
  2. data/.circleci/config.yml +29 -0
  3. data/.gitignore +32 -0
  4. data/.ruby-version +1 -0
  5. data/Appraisals +18 -23
  6. data/Gemfile +3 -1
  7. data/declarative_authorization.gemspec +2 -2
  8. data/lib/declarative_authorization/controller/grape.rb +15 -4
  9. data/lib/declarative_authorization/controller_permission.rb +1 -5
  10. data/lib/declarative_authorization/test/helpers.rb +8 -2
  11. data/lib/declarative_authorization/version.rb +1 -1
  12. metadata +11 -76
  13. data/Gemfile.lock +0 -138
  14. data/gemfiles/ruby_2.3.3_rails507.gemfile +0 -12
  15. data/gemfiles/ruby_2.3.3_rails507.gemfile.lock +0 -164
  16. data/gemfiles/ruby_2.3.3_rails516.gemfile +0 -12
  17. data/gemfiles/ruby_2.3.3_rails516.gemfile.lock +0 -164
  18. data/gemfiles/ruby_2.3.3_rails521.gemfile +0 -12
  19. data/gemfiles/ruby_2.3.3_rails521.gemfile.lock +0 -172
  20. data/gemfiles/ruby_2.3.3_rails522.gemfile +0 -12
  21. data/gemfiles/ruby_2.3.3_rails522.gemfile.lock +0 -172
  22. data/gemfiles/ruby_2.5.3_rails507.gemfile +0 -12
  23. data/gemfiles/ruby_2.5.3_rails507.gemfile.lock +0 -164
  24. data/gemfiles/ruby_2.5.3_rails516.gemfile +0 -12
  25. data/gemfiles/ruby_2.5.3_rails516.gemfile.lock +0 -164
  26. data/gemfiles/ruby_2.5.3_rails521.gemfile +0 -12
  27. data/gemfiles/ruby_2.5.3_rails521.gemfile.lock +0 -172
  28. data/gemfiles/ruby_2.5.3_rails522.gemfile +0 -12
  29. data/gemfiles/ruby_2.5.3_rails522.gemfile.lock +0 -172
  30. data/gemfiles/ruby_2.6.2_rails507.gemfile +0 -12
  31. data/gemfiles/ruby_2.6.2_rails507.gemfile.lock +0 -164
  32. data/gemfiles/ruby_2.6.2_rails516.gemfile +0 -12
  33. data/gemfiles/ruby_2.6.2_rails516.gemfile.lock +0 -164
  34. data/gemfiles/ruby_2.6.2_rails521.gemfile +0 -12
  35. data/gemfiles/ruby_2.6.2_rails521.gemfile.lock +0 -172
  36. data/gemfiles/ruby_2.6.2_rails522.gemfile +0 -12
  37. data/gemfiles/ruby_2.6.2_rails522.gemfile.lock +0 -172
  38. data/log/test.log +0 -89694
  39. data/pkg/ae_declarative_authorization-0.10.0.gem +0 -0
  40. data/pkg/ae_declarative_authorization-0.9.0.gem +0 -0
  41. data/pkg/ae_declarative_authorization-0.9.0.tim1.gem +0 -0
  42. data/pkg/ae_declarative_authorization-0.9.1.gem +0 -0
  43. data/pkg/ae_declarative_authorization-0.9.2.gem +0 -0
  44. data/test/authorization_test.rb +0 -1189
  45. data/test/controller_filter_resource_access_test.rb +0 -573
  46. data/test/database.yml +0 -3
  47. data/test/dsl_reader_test.rb +0 -178
  48. data/test/functional/filter_access_to_with_id_in_scope_test.rb +0 -88
  49. data/test/functional/no_filter_access_to_test.rb +0 -79
  50. data/test/functional/params_block_arity_test.rb +0 -39
  51. data/test/grape_api_test.rb +0 -508
  52. data/test/helper_test.rb +0 -248
  53. data/test/maintenance_test.rb +0 -46
  54. data/test/model_test.rb +0 -1840
  55. data/test/profiles/access_checking +0 -100
  56. data/test/rails_controller_test.rb +0 -478
  57. data/test/schema.sql +0 -60
  58. data/test/test_helper.rb +0 -117
  59. data/test/test_support/grape.rb +0 -93
  60. data/test/test_support/minitest_compatibility.rb +0 -27
  61. data/test/test_support/rails.rb +0 -69
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: a0ec830cacc22dd541280519d48973f4badb9d88
4
- data.tar.gz: '089be3345bbc9ebe53b8f277a3ec82ebfa0ab789'
2
+ SHA256:
3
+ metadata.gz: dff06fa9d8ff036d7582d582f34f09865a68faf2e7be458a3f0424cecdee3f89
4
+ data.tar.gz: 1055f0f6748d60ab7f8355b04ef5381a5b63f1d4a7b17595594f985eb9032f82
5
5
  SHA512:
6
- metadata.gz: d14fafdecc1093d56e1004d8676caf62ab6a8acd98d015ed09fb6c18d32bc32e2ae2d0ec5eef1d166897e15208cec941ebb92a13f00ad4f7ca5886ed66a7c49c
7
- data.tar.gz: 8e70bfe29899a458c5be5e110499a072abfba03d181c1ef124bd609e8b821a8595c8910c667aafe5fb880c395531121ff5320ae6f5f0f516f7991680f04d55c4
6
+ metadata.gz: 667443e834bdead0de53a90a140d7f096723661ae108b12b2e247d35baa0604a33199805e61eeca296b9a4442038e8680ff855e99b80563636a33f0f4199a62f
7
+ data.tar.gz: 74369200c33c9a93a830919a03dfcf81d2e2f01161d5c19b40dbb5b1f22cbdb58b850b53935bb2807934657cab0ddbf5d0bc749718c57f9c5c27156358e16fb1
@@ -0,0 +1,29 @@
1
+ version: 2.1
2
+ commands:
3
+ bundle_install_and_test:
4
+ steps:
5
+ - checkout
6
+ - run: bundle install
7
+ - run: bundle exec appraisal install
8
+ - run: bundle exec appraisal rake test
9
+
10
+ jobs:
11
+ test-ruby-253:
12
+ docker:
13
+ - image: circleci/ruby:2.5.3
14
+ steps:
15
+ - bundle_install_and_test
16
+
17
+ test-ruby-263:
18
+ docker:
19
+ - image: circleci/ruby:2.6.3
20
+ steps:
21
+ - bundle_install_and_test
22
+
23
+ workflows:
24
+ rc:
25
+ jobs:
26
+ - test-ruby-253:
27
+ context: appfolio_test_context
28
+ - test-ruby-263:
29
+ context: appfolio_test_context
@@ -0,0 +1,32 @@
1
+ # Because this is a gem, ignore Gemfile.lock:
2
+
3
+ Gemfile.lock
4
+ gemfiles/*.gemfile.lock
5
+
6
+ # And because this is Ruby, ignore the following
7
+ # (source: https://github.com/github/gitignore/blob/master/Ruby.gitignore):
8
+
9
+ *.gem
10
+ *.rbc
11
+ .bundle
12
+ .config
13
+ coverage
14
+ InstalledFiles
15
+ lib/bundler/man
16
+ pkg
17
+ log
18
+ rdoc
19
+ spec/reports
20
+ test/test.log
21
+ test/tmp
22
+ test/version_tmp
23
+ test/test_app/log
24
+ tmp
25
+ test/profiles
26
+
27
+ # YARD artifacts
28
+ .yardoc
29
+ _yardoc
30
+ doc/
31
+
32
+ .idea
@@ -0,0 +1 @@
1
+ ruby-2.6.3
data/Appraisals CHANGED
@@ -1,31 +1,26 @@
1
- case RUBY_VERSION
1
+ RAILS_VERSIONS = ['5.2.2.1', '6.0.2.1']
2
+ GRAPE_VERSIONS = ['1.1.0', '1.2.3', '1.3.0']
2
3
 
3
- when '2.3.3', '2.5.3', '2.6.2' then
4
+ case RUBY_VERSION
4
5
 
5
- appraise "ruby-#{RUBY_VERSION}-rails507" do
6
- gem 'rails', '5.0.7'
7
- gem 'grape', '1.1.0'
8
- gem 'rails-controller-testing'
9
- end
6
+ when '2.5.3', '2.6.3' then
7
+ RAILS_VERSIONS.product(GRAPE_VERSIONS).each do |rails_version, grape_version|
8
+ appraise "ruby-#{RUBY_VERSION}-rails#{rails_version}-grape#{grape_version}" do
9
+ gem 'rails', rails_version
10
+ gem 'grape', grape_version
10
11
 
11
- appraise "ruby-#{RUBY_VERSION}-rails516" do
12
- gem 'rails', '5.1.6'
13
- gem 'grape', '1.2.3'
14
- gem 'rails-controller-testing'
15
- end
12
+ if Gem::Version.new(grape_version) < Gem::Version.new('1.3.0')
13
+ # https://github.com/ruby-grape/grape/pull/1956
14
+ gem "rack", "< 2.1.0"
15
+ end
16
16
 
17
- appraise "ruby-#{RUBY_VERSION}-rails521" do
18
- gem 'rails', '5.2.1'
19
- gem 'grape', '1.2.3'
20
- gem 'rails-controller-testing'
17
+ if Gem::Version.new(rails_version) >= Gem::Version.new('6')
18
+ gem 'sqlite3', '~> 1.4'
19
+ else
20
+ gem 'sqlite3', '~> 1.3.0'
21
+ end
22
+ end
21
23
  end
22
-
23
- appraise "ruby-#{RUBY_VERSION}-rails522" do
24
- gem 'rails', '5.2.2'
25
- gem 'grape', '1.2.3'
26
- gem 'rails-controller-testing'
27
- end
28
-
29
24
  else
30
25
  raise "Unsupported Ruby version #{RUBY_VERSION}"
31
26
 
data/Gemfile CHANGED
@@ -4,4 +4,6 @@ gemspec
4
4
 
5
5
  gem 'appraisal', '~> 2.1'
6
6
  gem 'mocha', '~> 1.0', require: false
7
- gem 'sqlite3', '~> 1.3.0'
7
+ gem 'sprockets', '< 4'
8
+
9
+ gem 'rails-controller-testing'
@@ -14,11 +14,11 @@ Gem::Specification.new do |s|
14
14
  s.homepage = 'http://github.com/appfolio/ae_declarative_authorization'
15
15
  s.licenses = ['MIT']
16
16
 
17
- s.files = Dir['**/*']
17
+ s.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features|gemfiles)/}) }
18
18
  s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
19
19
  s.test_files = s.files.grep(%r{^(test|spec|features)/})
20
20
  s.require_paths = ['lib']
21
21
 
22
22
  s.add_dependency(%q<blockenspiel>, ['~> 0.5.0'])
23
- s.add_dependency(%q<rails>, ['>= 4.2.5.2', '< 6'])
23
+ s.add_dependency(%q<rails>, ['>= 4.2.5.2', '< 7'])
24
24
  end
@@ -37,6 +37,12 @@ module Authorization
37
37
  end
38
38
 
39
39
  def filter_access_filter # :nodoc:
40
+ begin
41
+ route
42
+ rescue
43
+ # Acceessing route raises an exception when the response is a 405 MethodNotAllowed
44
+ return
45
+ end
40
46
  unless allowed?("#{request.request_method} #{route.origin}")
41
47
  if respond_to?(:permission_denied, true)
42
48
  # permission_denied needs to render or redirect
@@ -51,13 +57,18 @@ module Authorization
51
57
  ::Rails.logger
52
58
  end
53
59
 
54
- protected
55
-
56
60
  def api_class
57
61
  if options[:for].respond_to?(:base)
58
- options[:for].base # Grape >= 1.2.0 controller
62
+ # Grape >= 1.2.0 endpoint
63
+ # Authorization::Controller::Grape can be included into either Grape::API
64
+ # or Grape::API::Instance, so we need to check both.
65
+ [
66
+ options[:for],
67
+ options[:for].base
68
+ ].detect { |api| api.respond_to?(:decl_auth_context) }
59
69
  else
60
- options[:for] # Grape < 1.2.0 controller
70
+ # Grape < 1.2.0 endpoint
71
+ options[:for]
61
72
  end
62
73
  end
63
74
  end
@@ -68,11 +68,7 @@ module Authorization
68
68
 
69
69
  def controller_class(contr)
70
70
  if defined?(Grape) && contr.class < Grape::Endpoint
71
- if contr.options[:for].respond_to?(:base)
72
- contr.options[:for].base # Grape >= 1.2.0 controller
73
- else
74
- contr.options[:for] # Grape < 1.2.0 controller
75
- end
71
+ contr.api_class
76
72
  else
77
73
  contr.class # Rails controller
78
74
  end
@@ -155,8 +155,14 @@ module DeclarativeAuthorization
155
155
  alias :access_tests_not_required :this_is_an_abstract_controller_so_it_needs_no_access_tests
156
156
 
157
157
  def all_public_actions
158
- actions = controller_class.public_instance_methods(false)
159
- actions += controller_class.superclass.public_instance_methods(false)
158
+ actions = []
159
+ if defined?(Grape) && [Grape::API, Grape::API::Instance].any? { |base| controller_class < base }
160
+ actions += controller_class.routes.map { |api| "#{api.request_method} #{api.origin}" }
161
+ else
162
+ actions += controller_class.public_instance_methods(false)
163
+ actions += controller_class.superclass.public_instance_methods(false)
164
+ end
165
+
160
166
  actions.reject! do |method|
161
167
  method =~ /^_/ ||
162
168
  method =~ /^rescue_action/ ||
@@ -1,3 +1,3 @@
1
1
  module DeclarativeAuthorization
2
- VERSION = '0.10.1'.freeze
2
+ VERSION = '0.12.1.tim1'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ae_declarative_authorization
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.1
4
+ version: 0.12.1.tim1
5
5
  platform: ruby
6
6
  authors:
7
7
  - AppFolio
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-04-14 00:00:00.000000000 Z
12
+ date: 2020-08-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: blockenspiel
@@ -34,7 +34,7 @@ dependencies:
34
34
  version: 4.2.5.2
35
35
  - - "<"
36
36
  - !ruby/object:Gem::Version
37
- version: '6'
37
+ version: '7'
38
38
  type: :runtime
39
39
  prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
@@ -44,7 +44,7 @@ dependencies:
44
44
  version: 4.2.5.2
45
45
  - - "<"
46
46
  - !ruby/object:Gem::Version
47
- version: '6'
47
+ version: '7'
48
48
  description: ae_declarative_authorization is a Rails gem for maintainable authorization
49
49
  based on readable authorization rules.
50
50
  email: dev@appfolio.com
@@ -52,40 +52,18 @@ executables: []
52
52
  extensions: []
53
53
  extra_rdoc_files: []
54
54
  files:
55
+ - ".circleci/config.yml"
56
+ - ".gitignore"
57
+ - ".ruby-version"
55
58
  - Appraisals
56
59
  - CHANGELOG
57
60
  - Gemfile
58
- - Gemfile.lock
59
61
  - LICENSE.txt
60
62
  - README.md
61
63
  - README.rdoc
62
64
  - Rakefile
63
65
  - authorization_rules.dist.rb
64
66
  - declarative_authorization.gemspec
65
- - gemfiles/ruby_2.3.3_rails507.gemfile
66
- - gemfiles/ruby_2.3.3_rails507.gemfile.lock
67
- - gemfiles/ruby_2.3.3_rails516.gemfile
68
- - gemfiles/ruby_2.3.3_rails516.gemfile.lock
69
- - gemfiles/ruby_2.3.3_rails521.gemfile
70
- - gemfiles/ruby_2.3.3_rails521.gemfile.lock
71
- - gemfiles/ruby_2.3.3_rails522.gemfile
72
- - gemfiles/ruby_2.3.3_rails522.gemfile.lock
73
- - gemfiles/ruby_2.5.3_rails507.gemfile
74
- - gemfiles/ruby_2.5.3_rails507.gemfile.lock
75
- - gemfiles/ruby_2.5.3_rails516.gemfile
76
- - gemfiles/ruby_2.5.3_rails516.gemfile.lock
77
- - gemfiles/ruby_2.5.3_rails521.gemfile
78
- - gemfiles/ruby_2.5.3_rails521.gemfile.lock
79
- - gemfiles/ruby_2.5.3_rails522.gemfile
80
- - gemfiles/ruby_2.5.3_rails522.gemfile.lock
81
- - gemfiles/ruby_2.6.2_rails507.gemfile
82
- - gemfiles/ruby_2.6.2_rails507.gemfile.lock
83
- - gemfiles/ruby_2.6.2_rails516.gemfile
84
- - gemfiles/ruby_2.6.2_rails516.gemfile.lock
85
- - gemfiles/ruby_2.6.2_rails521.gemfile
86
- - gemfiles/ruby_2.6.2_rails521.gemfile.lock
87
- - gemfiles/ruby_2.6.2_rails522.gemfile
88
- - gemfiles/ruby_2.6.2_rails522.gemfile.lock
89
67
  - init.rb
90
68
  - lib/declarative_authorization.rb
91
69
  - lib/declarative_authorization/authorization.rb
@@ -106,30 +84,6 @@ files:
106
84
  - lib/generators/authorization/rules/rules_generator.rb
107
85
  - lib/generators/authorization/rules/templates/authorization_rules.rb
108
86
  - lib/tasks/authorization_tasks.rake
109
- - log/test.log
110
- - pkg/ae_declarative_authorization-0.10.0.gem
111
- - pkg/ae_declarative_authorization-0.9.0.gem
112
- - pkg/ae_declarative_authorization-0.9.0.tim1.gem
113
- - pkg/ae_declarative_authorization-0.9.1.gem
114
- - pkg/ae_declarative_authorization-0.9.2.gem
115
- - test/authorization_test.rb
116
- - test/controller_filter_resource_access_test.rb
117
- - test/database.yml
118
- - test/dsl_reader_test.rb
119
- - test/functional/filter_access_to_with_id_in_scope_test.rb
120
- - test/functional/no_filter_access_to_test.rb
121
- - test/functional/params_block_arity_test.rb
122
- - test/grape_api_test.rb
123
- - test/helper_test.rb
124
- - test/maintenance_test.rb
125
- - test/model_test.rb
126
- - test/profiles/access_checking
127
- - test/rails_controller_test.rb
128
- - test/schema.sql
129
- - test/test_helper.rb
130
- - test/test_support/grape.rb
131
- - test/test_support/minitest_compatibility.rb
132
- - test/test_support/rails.rb
133
87
  homepage: http://github.com/appfolio/ae_declarative_authorization
134
88
  licenses:
135
89
  - MIT
@@ -145,32 +99,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
145
99
  version: '0'
146
100
  required_rubygems_version: !ruby/object:Gem::Requirement
147
101
  requirements:
148
- - - ">="
102
+ - - ">"
149
103
  - !ruby/object:Gem::Version
150
- version: '0'
104
+ version: 1.3.1
151
105
  requirements: []
152
- rubyforge_project:
153
- rubygems_version: 2.5.2
106
+ rubygems_version: 3.1.4
154
107
  signing_key:
155
108
  specification_version: 4
156
109
  summary: ae_declarative_authorization is a Rails gem for maintainable authorization
157
110
  based on readable authorization rules.
158
- test_files:
159
- - test/authorization_test.rb
160
- - test/controller_filter_resource_access_test.rb
161
- - test/database.yml
162
- - test/dsl_reader_test.rb
163
- - test/functional/filter_access_to_with_id_in_scope_test.rb
164
- - test/functional/no_filter_access_to_test.rb
165
- - test/functional/params_block_arity_test.rb
166
- - test/grape_api_test.rb
167
- - test/helper_test.rb
168
- - test/maintenance_test.rb
169
- - test/model_test.rb
170
- - test/profiles/access_checking
171
- - test/rails_controller_test.rb
172
- - test/schema.sql
173
- - test/test_helper.rb
174
- - test/test_support/grape.rb
175
- - test/test_support/minitest_compatibility.rb
176
- - test/test_support/rails.rb
111
+ test_files: []
@@ -1,138 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- ae_declarative_authorization (0.10.1)
5
- blockenspiel (~> 0.5.0)
6
- rails (>= 4.2.5.2, < 6)
7
-
8
- GEM
9
- remote: http://rubygems.org/
10
- specs:
11
- actioncable (5.2.2.1)
12
- actionpack (= 5.2.2.1)
13
- nio4r (~> 2.0)
14
- websocket-driver (>= 0.6.1)
15
- actionmailer (5.2.2.1)
16
- actionpack (= 5.2.2.1)
17
- actionview (= 5.2.2.1)
18
- activejob (= 5.2.2.1)
19
- mail (~> 2.5, >= 2.5.4)
20
- rails-dom-testing (~> 2.0)
21
- actionpack (5.2.2.1)
22
- actionview (= 5.2.2.1)
23
- activesupport (= 5.2.2.1)
24
- rack (~> 2.0)
25
- rack-test (>= 0.6.3)
26
- rails-dom-testing (~> 2.0)
27
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
28
- actionview (5.2.2.1)
29
- activesupport (= 5.2.2.1)
30
- builder (~> 3.1)
31
- erubi (~> 1.4)
32
- rails-dom-testing (~> 2.0)
33
- rails-html-sanitizer (~> 1.0, >= 1.0.3)
34
- activejob (5.2.2.1)
35
- activesupport (= 5.2.2.1)
36
- globalid (>= 0.3.6)
37
- activemodel (5.2.2.1)
38
- activesupport (= 5.2.2.1)
39
- activerecord (5.2.2.1)
40
- activemodel (= 5.2.2.1)
41
- activesupport (= 5.2.2.1)
42
- arel (>= 9.0)
43
- activestorage (5.2.2.1)
44
- actionpack (= 5.2.2.1)
45
- activerecord (= 5.2.2.1)
46
- marcel (~> 0.3.1)
47
- activesupport (5.2.2.1)
48
- concurrent-ruby (~> 1.0, >= 1.0.2)
49
- i18n (>= 0.7, < 2)
50
- minitest (~> 5.1)
51
- tzinfo (~> 1.1)
52
- appraisal (2.2.0)
53
- bundler
54
- rake
55
- thor (>= 0.14.0)
56
- arel (9.0.0)
57
- blockenspiel (0.5.0)
58
- builder (3.2.3)
59
- concurrent-ruby (1.1.5)
60
- crass (1.0.4)
61
- erubi (1.8.0)
62
- globalid (0.4.2)
63
- activesupport (>= 4.2.0)
64
- i18n (1.6.0)
65
- concurrent-ruby (~> 1.0)
66
- loofah (2.2.3)
67
- crass (~> 1.0.2)
68
- nokogiri (>= 1.5.9)
69
- mail (2.7.1)
70
- mini_mime (>= 0.1.1)
71
- marcel (0.3.3)
72
- mimemagic (~> 0.3.2)
73
- metaclass (0.0.4)
74
- method_source (0.9.2)
75
- mimemagic (0.3.3)
76
- mini_mime (1.0.1)
77
- mini_portile2 (2.4.0)
78
- minitest (5.11.3)
79
- mocha (1.7.0)
80
- metaclass (~> 0.0.1)
81
- nio4r (2.3.1)
82
- nokogiri (1.10.1)
83
- mini_portile2 (~> 2.4.0)
84
- rack (2.0.6)
85
- rack-test (1.1.0)
86
- rack (>= 1.0, < 3)
87
- rails (5.2.2.1)
88
- actioncable (= 5.2.2.1)
89
- actionmailer (= 5.2.2.1)
90
- actionpack (= 5.2.2.1)
91
- actionview (= 5.2.2.1)
92
- activejob (= 5.2.2.1)
93
- activemodel (= 5.2.2.1)
94
- activerecord (= 5.2.2.1)
95
- activestorage (= 5.2.2.1)
96
- activesupport (= 5.2.2.1)
97
- bundler (>= 1.3.0)
98
- railties (= 5.2.2.1)
99
- sprockets-rails (>= 2.0.0)
100
- rails-dom-testing (2.0.3)
101
- activesupport (>= 4.2.0)
102
- nokogiri (>= 1.6)
103
- rails-html-sanitizer (1.0.4)
104
- loofah (~> 2.2, >= 2.2.2)
105
- railties (5.2.2.1)
106
- actionpack (= 5.2.2.1)
107
- activesupport (= 5.2.2.1)
108
- method_source
109
- rake (>= 0.8.7)
110
- thor (>= 0.19.0, < 2.0)
111
- rake (12.3.1)
112
- sprockets (3.7.2)
113
- concurrent-ruby (~> 1.0)
114
- rack (> 1, < 3)
115
- sprockets-rails (3.2.1)
116
- actionpack (>= 4.0)
117
- activesupport (>= 4.0)
118
- sprockets (>= 3.0.0)
119
- sqlite3 (1.3.13)
120
- thor (0.20.0)
121
- thread_safe (0.3.6)
122
- tzinfo (1.2.5)
123
- thread_safe (~> 0.1)
124
- websocket-driver (0.7.0)
125
- websocket-extensions (>= 0.1.0)
126
- websocket-extensions (0.1.3)
127
-
128
- PLATFORMS
129
- ruby
130
-
131
- DEPENDENCIES
132
- ae_declarative_authorization!
133
- appraisal (~> 2.1)
134
- mocha (~> 1.0)
135
- sqlite3 (~> 1.3.0)
136
-
137
- BUNDLED WITH
138
- 1.17.1