rails_ops 1.1.20 → 1.1.21

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: d65a63f28c458711e43e8059f0464af8548434b176ceeec24029bfcd062fe8dd
4
- data.tar.gz: 94df1eee33cd5bfb6ee073284f3dc13eb2a8715d7db8cd832f4c4230427ca140
3
+ metadata.gz: acc6d1b2eff65cad3a4d84cdd9945abf564ca261c7f488bdf6c98ddf7c616dbb
4
+ data.tar.gz: 48831116f0b9a0430a081ed850920b0200d0333e82f9d2bd8429f5286d9fcb29
5
5
  SHA512:
6
- metadata.gz: 4c2731d7474ab992b44ddf9b4c5c3d5930528f99d4b48c17af5e314e4900e90c7c3b6ecd2b8374248c06305da3b0e23087de12091c74ab18d98fc83df3484386
7
- data.tar.gz: 242a67362fe2163f7c9a6645615db3b247d0d20c62ac6c6553820df4a68b70bd5ec29bd3dcbd45a30dc50ae013cb19d4c04cb95478b476b63a5327f6a60c6e1b
6
+ metadata.gz: dcdf9bff36dc400cd846cee0cd50b8d991104f437e42d78dfd170af13ec2cf45923a14bcfbf75e063a122cb73a9601f51ea9ee04d5c80e51903e74c6fa4dd907
7
+ data.tar.gz: 4dd2ea06610bb5db48c53a504937caa060c51ad425408cc65ca26582d87b74c831af69fea0a29c1dcd18ab5ca701a5463f08a7783ba078f0f8891a0aa0fc12dc
data/.travis.yml CHANGED
@@ -1,6 +1,10 @@
1
1
  language: ruby
2
2
  rvm:
3
3
  - 2.3.0
4
+ - 2.5.1
5
+ - 2.6.2
6
+ - 2.7.1
7
+ - 3.0.0
4
8
  script:
5
9
  - bundle install
6
10
  - bundle exec rake test
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.1.21 (2021-06-23)
4
+
5
+ * Fix using model operations in conjunction with Single Table Inheritance (STI)
6
+
3
7
  ## 1.1.20 (2021-02-18)
4
8
 
5
9
  * Fix warnings with Ruby 2.7
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.20
1
+ 1.1.21
@@ -2,7 +2,7 @@ require 'cancan'
2
2
 
3
3
  module RailsOps::AuthorizationBackend
4
4
  class CanCanCan < Abstract
5
- EXCEPTION_CLASS = 'CanCan::AccessDenied'
5
+ EXCEPTION_CLASS = 'CanCan::AccessDenied'.freeze
6
6
 
7
7
  def initialize
8
8
  unless defined?(CanCanCan)
@@ -13,7 +13,6 @@ module RailsOps::Mixins::Model::Nesting
13
13
  end
14
14
  end
15
15
 
16
-
17
16
  module ClassMethods
18
17
  def nest_model_op(attribute, klass, lookup_via_id_on_update: true, allow_id: false, &params_block)
19
18
  # ---------------------------------------------------------------
@@ -5,12 +5,21 @@ module RailsOps
5
5
 
6
6
  included do
7
7
  class_attribute :virtual_model_name
8
+ class_attribute :virtual_sti_name
8
9
  end
9
10
 
10
11
  module ClassMethods
11
12
  def model_name
12
13
  virtual_model_name || super
13
14
  end
15
+
16
+ def sti_name
17
+ virtual_sti_name || super
18
+ end
19
+
20
+ def find_sti_class(_type_name)
21
+ self
22
+ end
14
23
  end
15
24
  end
16
25
  end
@@ -69,6 +69,11 @@ class RailsOps::Operation::Model < RailsOps::Operation
69
69
  _model_class.virtual_model_name = ActiveModel::Name.new(_model_class, nil, name.to_s)
70
70
  end
71
71
 
72
+ # Set virtual STI name if given.
73
+ if model_class && model_class.name
74
+ _model_class.virtual_sti_name = model_class.name
75
+ end
76
+
72
77
  # ---------------------------------------------------------------
73
78
  # We just use the given model class without any adaptions
74
79
  # ---------------------------------------------------------------
data/rails_ops.gemspec CHANGED
@@ -1,33 +1,43 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: rails_ops 1.1.20 ruby lib
2
+ # stub: rails_ops 1.1.21 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "rails_ops".freeze
6
- s.version = "1.1.20"
6
+ s.version = "1.1.21"
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib".freeze]
10
10
  s.authors = ["Sitrox".freeze]
11
- s.date = "2021-02-18"
11
+ s.date = "2021-06-23"
12
12
  s.files = [".gitignore".freeze, ".releaser_config".freeze, ".rubocop.yml".freeze, ".travis.yml".freeze, "CHANGELOG.md".freeze, "Gemfile".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "VERSION".freeze, "lib/rails_ops.rb".freeze, "lib/rails_ops/authorization_backend/abstract.rb".freeze, "lib/rails_ops/authorization_backend/can_can_can.rb".freeze, "lib/rails_ops/configuration.rb".freeze, "lib/rails_ops/context.rb".freeze, "lib/rails_ops/controller_mixin.rb".freeze, "lib/rails_ops/exceptions.rb".freeze, "lib/rails_ops/hooked_job.rb".freeze, "lib/rails_ops/hookup.rb".freeze, "lib/rails_ops/hookup/dsl.rb".freeze, "lib/rails_ops/hookup/dsl_validator.rb".freeze, "lib/rails_ops/hookup/hook.rb".freeze, "lib/rails_ops/log_subscriber.rb".freeze, "lib/rails_ops/mixins.rb".freeze, "lib/rails_ops/mixins/authorization.rb".freeze, "lib/rails_ops/mixins/log_settings.rb".freeze, "lib/rails_ops/mixins/model.rb".freeze, "lib/rails_ops/mixins/model/authorization.rb".freeze, "lib/rails_ops/mixins/model/nesting.rb".freeze, "lib/rails_ops/mixins/param_authorization.rb".freeze, "lib/rails_ops/mixins/policies.rb".freeze, "lib/rails_ops/mixins/require_context.rb".freeze, "lib/rails_ops/mixins/routes.rb".freeze, "lib/rails_ops/mixins/schema_validation.rb".freeze, "lib/rails_ops/mixins/sub_ops.rb".freeze, "lib/rails_ops/model_casting.rb".freeze, "lib/rails_ops/model_mixins.rb".freeze, "lib/rails_ops/model_mixins/ar_extension.rb".freeze, "lib/rails_ops/model_mixins/parent_op.rb".freeze, "lib/rails_ops/model_mixins/virtual_attributes.rb".freeze, "lib/rails_ops/model_mixins/virtual_attributes/virtual_column_wrapper.rb".freeze, "lib/rails_ops/model_mixins/virtual_has_one.rb".freeze, "lib/rails_ops/model_mixins/virtual_model_name.rb".freeze, "lib/rails_ops/operation.rb".freeze, "lib/rails_ops/operation/model.rb".freeze, "lib/rails_ops/operation/model/create.rb".freeze, "lib/rails_ops/operation/model/destroy.rb".freeze, "lib/rails_ops/operation/model/load.rb".freeze, "lib/rails_ops/operation/model/update.rb".freeze, "lib/rails_ops/patches/active_type_patch.rb".freeze, "lib/rails_ops/profiler.rb".freeze, "lib/rails_ops/profiler/node.rb".freeze, "lib/rails_ops/railtie.rb".freeze, "lib/rails_ops/scoped_env.rb".freeze, "lib/rails_ops/virtual_model.rb".freeze, "rails_ops.gemspec".freeze, "test/db/models.rb".freeze, "test/db/schema.rb".freeze, "test/dummy/Rakefile".freeze, "test/dummy/app/assets/config/manifest.js".freeze, "test/dummy/app/assets/images/.keep".freeze, "test/dummy/app/assets/javascripts/application.js".freeze, "test/dummy/app/assets/javascripts/cable.js".freeze, "test/dummy/app/assets/javascripts/channels/.keep".freeze, "test/dummy/app/assets/stylesheets/application.css".freeze, "test/dummy/app/channels/application_cable/channel.rb".freeze, "test/dummy/app/channels/application_cable/connection.rb".freeze, "test/dummy/app/controllers/application_controller.rb".freeze, "test/dummy/app/controllers/concerns/.keep".freeze, "test/dummy/app/helpers/application_helper.rb".freeze, "test/dummy/app/jobs/application_job.rb".freeze, "test/dummy/app/mailers/application_mailer.rb".freeze, "test/dummy/app/models/application_record.rb".freeze, "test/dummy/app/models/concerns/.keep".freeze, "test/dummy/app/models/group.rb".freeze, "test/dummy/app/views/layouts/application.html.erb".freeze, "test/dummy/app/views/layouts/mailer.html.erb".freeze, "test/dummy/app/views/layouts/mailer.text.erb".freeze, "test/dummy/bin/bundle".freeze, "test/dummy/bin/rails".freeze, "test/dummy/bin/rake".freeze, "test/dummy/bin/setup".freeze, "test/dummy/bin/update".freeze, "test/dummy/bin/yarn".freeze, "test/dummy/config.ru".freeze, "test/dummy/config/application.rb".freeze, "test/dummy/config/boot.rb".freeze, "test/dummy/config/cable.yml".freeze, "test/dummy/config/database.yml".freeze, "test/dummy/config/environment.rb".freeze, "test/dummy/config/environments/development.rb".freeze, "test/dummy/config/environments/production.rb".freeze, "test/dummy/config/environments/test.rb".freeze, "test/dummy/config/initializers/application_controller_renderer.rb".freeze, "test/dummy/config/initializers/assets.rb".freeze, "test/dummy/config/initializers/backtrace_silencers.rb".freeze, "test/dummy/config/initializers/cookies_serializer.rb".freeze, "test/dummy/config/initializers/filter_parameter_logging.rb".freeze, "test/dummy/config/initializers/inflections.rb".freeze, "test/dummy/config/initializers/mime_types.rb".freeze, "test/dummy/config/initializers/rails_ops.rb".freeze, "test/dummy/config/initializers/wrap_parameters.rb".freeze, "test/dummy/config/locales/en.yml".freeze, "test/dummy/config/puma.rb".freeze, "test/dummy/config/routes.rb".freeze, "test/dummy/config/secrets.yml".freeze, "test/dummy/config/spring.rb".freeze, "test/dummy/db/schema.rb".freeze, "test/dummy/lib/assets/.keep".freeze, "test/dummy/log/.keep".freeze, "test/dummy/package.json".freeze, "test/dummy/public/404.html".freeze, "test/dummy/public/422.html".freeze, "test/dummy/public/500.html".freeze, "test/dummy/public/apple-touch-icon-precomposed.png".freeze, "test/dummy/public/apple-touch-icon.png".freeze, "test/dummy/public/favicon.ico".freeze, "test/dummy/tmp/.keep".freeze, "test/test_helper.rb".freeze, "test/unit/rails_ops/mixins/model/nesting.rb".freeze, "test/unit/rails_ops/mixins/policies_test.rb".freeze, "test/unit/rails_ops/operation/model/create_test.rb".freeze, "test/unit/rails_ops/operation/model/load_test.rb".freeze, "test/unit/rails_ops/operation/model/update_test.rb".freeze, "test/unit/rails_ops/operation/model_test.rb".freeze, "test/unit/rails_ops/operation_test.rb".freeze]
13
- s.rubygems_version = "3.1.4".freeze
13
+ s.rubygems_version = "3.0.3".freeze
14
14
  s.summary = "An operations service layer for rails projects.".freeze
15
15
  s.test_files = ["test/db/models.rb".freeze, "test/db/schema.rb".freeze, "test/dummy/Rakefile".freeze, "test/dummy/app/assets/config/manifest.js".freeze, "test/dummy/app/assets/images/.keep".freeze, "test/dummy/app/assets/javascripts/application.js".freeze, "test/dummy/app/assets/javascripts/cable.js".freeze, "test/dummy/app/assets/javascripts/channels/.keep".freeze, "test/dummy/app/assets/stylesheets/application.css".freeze, "test/dummy/app/channels/application_cable/channel.rb".freeze, "test/dummy/app/channels/application_cable/connection.rb".freeze, "test/dummy/app/controllers/application_controller.rb".freeze, "test/dummy/app/controllers/concerns/.keep".freeze, "test/dummy/app/helpers/application_helper.rb".freeze, "test/dummy/app/jobs/application_job.rb".freeze, "test/dummy/app/mailers/application_mailer.rb".freeze, "test/dummy/app/models/application_record.rb".freeze, "test/dummy/app/models/concerns/.keep".freeze, "test/dummy/app/models/group.rb".freeze, "test/dummy/app/views/layouts/application.html.erb".freeze, "test/dummy/app/views/layouts/mailer.html.erb".freeze, "test/dummy/app/views/layouts/mailer.text.erb".freeze, "test/dummy/bin/bundle".freeze, "test/dummy/bin/rails".freeze, "test/dummy/bin/rake".freeze, "test/dummy/bin/setup".freeze, "test/dummy/bin/update".freeze, "test/dummy/bin/yarn".freeze, "test/dummy/config.ru".freeze, "test/dummy/config/application.rb".freeze, "test/dummy/config/boot.rb".freeze, "test/dummy/config/cable.yml".freeze, "test/dummy/config/database.yml".freeze, "test/dummy/config/environment.rb".freeze, "test/dummy/config/environments/development.rb".freeze, "test/dummy/config/environments/production.rb".freeze, "test/dummy/config/environments/test.rb".freeze, "test/dummy/config/initializers/application_controller_renderer.rb".freeze, "test/dummy/config/initializers/assets.rb".freeze, "test/dummy/config/initializers/backtrace_silencers.rb".freeze, "test/dummy/config/initializers/cookies_serializer.rb".freeze, "test/dummy/config/initializers/filter_parameter_logging.rb".freeze, "test/dummy/config/initializers/inflections.rb".freeze, "test/dummy/config/initializers/mime_types.rb".freeze, "test/dummy/config/initializers/rails_ops.rb".freeze, "test/dummy/config/initializers/wrap_parameters.rb".freeze, "test/dummy/config/locales/en.yml".freeze, "test/dummy/config/puma.rb".freeze, "test/dummy/config/routes.rb".freeze, "test/dummy/config/secrets.yml".freeze, "test/dummy/config/spring.rb".freeze, "test/dummy/db/schema.rb".freeze, "test/dummy/lib/assets/.keep".freeze, "test/dummy/log/.keep".freeze, "test/dummy/package.json".freeze, "test/dummy/public/404.html".freeze, "test/dummy/public/422.html".freeze, "test/dummy/public/500.html".freeze, "test/dummy/public/apple-touch-icon-precomposed.png".freeze, "test/dummy/public/apple-touch-icon.png".freeze, "test/dummy/public/favicon.ico".freeze, "test/dummy/tmp/.keep".freeze, "test/test_helper.rb".freeze, "test/unit/rails_ops/mixins/model/nesting.rb".freeze, "test/unit/rails_ops/mixins/policies_test.rb".freeze, "test/unit/rails_ops/operation/model/create_test.rb".freeze, "test/unit/rails_ops/operation/model/load_test.rb".freeze, "test/unit/rails_ops/operation/model/update_test.rb".freeze, "test/unit/rails_ops/operation/model_test.rb".freeze, "test/unit/rails_ops/operation_test.rb".freeze]
16
16
 
17
17
  if s.respond_to? :specification_version then
18
18
  s.specification_version = 4
19
- end
20
19
 
21
- if s.respond_to? :add_runtime_dependency then
22
- s.add_development_dependency(%q<bundler>.freeze, [">= 0"])
23
- s.add_development_dependency(%q<rake>.freeze, [">= 0"])
24
- s.add_development_dependency(%q<sqlite3>.freeze, [">= 0"])
25
- s.add_development_dependency(%q<rubocop>.freeze, ["= 0.47.1"])
26
- s.add_runtime_dependency(%q<active_type>.freeze, [">= 1.3.0"])
27
- s.add_runtime_dependency(%q<minitest>.freeze, [">= 0"])
28
- s.add_runtime_dependency(%q<rails>.freeze, [">= 0"])
29
- s.add_runtime_dependency(%q<request_store>.freeze, [">= 0"])
30
- s.add_runtime_dependency(%q<schemacop>.freeze, [">= 2.4.2", "<= 3.1"])
20
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
21
+ s.add_development_dependency(%q<bundler>.freeze, [">= 0"])
22
+ s.add_development_dependency(%q<rake>.freeze, [">= 0"])
23
+ s.add_development_dependency(%q<sqlite3>.freeze, [">= 0"])
24
+ s.add_development_dependency(%q<rubocop>.freeze, ["= 0.47.1"])
25
+ s.add_runtime_dependency(%q<active_type>.freeze, [">= 1.3.0"])
26
+ s.add_runtime_dependency(%q<minitest>.freeze, [">= 0"])
27
+ s.add_runtime_dependency(%q<rails>.freeze, [">= 0"])
28
+ s.add_runtime_dependency(%q<request_store>.freeze, [">= 0"])
29
+ s.add_runtime_dependency(%q<schemacop>.freeze, [">= 2.4.2", "<= 3.1"])
30
+ else
31
+ s.add_dependency(%q<bundler>.freeze, [">= 0"])
32
+ s.add_dependency(%q<rake>.freeze, [">= 0"])
33
+ s.add_dependency(%q<sqlite3>.freeze, [">= 0"])
34
+ s.add_dependency(%q<rubocop>.freeze, ["= 0.47.1"])
35
+ s.add_dependency(%q<active_type>.freeze, [">= 1.3.0"])
36
+ s.add_dependency(%q<minitest>.freeze, [">= 0"])
37
+ s.add_dependency(%q<rails>.freeze, [">= 0"])
38
+ s.add_dependency(%q<request_store>.freeze, [">= 0"])
39
+ s.add_dependency(%q<schemacop>.freeze, [">= 2.4.2", "<= 3.1"])
40
+ end
31
41
  else
32
42
  s.add_dependency(%q<bundler>.freeze, [">= 0"])
33
43
  s.add_dependency(%q<rake>.freeze, [">= 0"])
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_ops
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.20
4
+ version: 1.1.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sitrox
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-18 00:00:00.000000000 Z
11
+ date: 2021-06-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -142,8 +142,8 @@ dependencies:
142
142
  - - "<="
143
143
  - !ruby/object:Gem::Version
144
144
  version: '3.1'
145
- description:
146
- email:
145
+ description:
146
+ email:
147
147
  executables: []
148
148
  extensions: []
149
149
  extra_rdoc_files: []
@@ -274,10 +274,10 @@ files:
274
274
  - test/unit/rails_ops/operation/model/update_test.rb
275
275
  - test/unit/rails_ops/operation/model_test.rb
276
276
  - test/unit/rails_ops/operation_test.rb
277
- homepage:
277
+ homepage:
278
278
  licenses: []
279
279
  metadata: {}
280
- post_install_message:
280
+ post_install_message:
281
281
  rdoc_options: []
282
282
  require_paths:
283
283
  - lib
@@ -292,8 +292,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
292
292
  - !ruby/object:Gem::Version
293
293
  version: '0'
294
294
  requirements: []
295
- rubygems_version: 3.1.4
296
- signing_key:
295
+ rubygems_version: 3.0.3
296
+ signing_key:
297
297
  specification_version: 4
298
298
  summary: An operations service layer for rails projects.
299
299
  test_files: