ae_declarative_authorization 0.10.1 → 0.12.1.tim1

Sign up to get free protection for your applications and to get access to all the features.
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