rails_ops 1.1.5 → 1.1.10
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 +4 -4
- data/CHANGELOG.md +26 -0
- data/README.md +3 -0
- data/VERSION +1 -1
- data/lib/rails_ops/controller_mixin.rb +5 -0
- data/lib/rails_ops/exceptions.rb +2 -0
- data/lib/rails_ops/hookup.rb +6 -1
- data/lib/rails_ops/operation.rb +7 -2
- data/rails_ops.gemspec +3 -3
- data/test/unit/rails_ops/operation_test.rb +5 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d153a870aafb98f323f6fb99ff5be9363a3310cc6eb97a0ee9bcf85d23367e8b
|
|
4
|
+
data.tar.gz: 99ae30bd07dfe22a72b2c3922e1ae7bb58f5f181f508bb72a671b705567f3fee
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b8adcfdf59177bcb66cfff1ed69d1ddc860d9be9e0d86728e95e0228e26753055a3ff1f3e14dc4e0cc1a911933e0d2a0af63271283533e7b6f0b474abc7415e3
|
|
7
|
+
data.tar.gz: 91769b652399b5f2b99e03acfc3ba34b2ac058dce439f7863eb178e3922e8612d1155262217b8cbf058442789622437061f3c38f8fabf7ce9536691658289a22
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.1.10 (2020-08-29)
|
|
4
|
+
|
|
5
|
+
* Fix parameter inspection bug introduced in 1.1.10.
|
|
6
|
+
|
|
7
|
+
## 1.1.9 (2020-08-28)
|
|
8
|
+
|
|
9
|
+
* Gracefully filter params when inspecting an operation. If the params included
|
|
10
|
+
numeric keys in `rails < 6`, this lead to an error. This error is now handeled
|
|
11
|
+
gracefully and params are not inspected.
|
|
12
|
+
|
|
13
|
+
* Do not call `inspect` every time an op is run
|
|
14
|
+
|
|
15
|
+
## 1.1.8 (2020-07-08)
|
|
16
|
+
|
|
17
|
+
* Fix bug where only the first hooked operation was called
|
|
18
|
+
|
|
19
|
+
## 1.1.7 (2020-06-18)
|
|
20
|
+
|
|
21
|
+
* Add controller / helper method `model?`
|
|
22
|
+
|
|
23
|
+
## 1.1.6 (2020-04-08)
|
|
24
|
+
|
|
25
|
+
* Fix suppressed validation errors by operations called via hookup. Now the
|
|
26
|
+
exception {RailsOps::Exceptions::HookupOpValidationFailed} is thrown if a hook
|
|
27
|
+
target operation throws a validation error throws a validation error
|
|
28
|
+
|
|
3
29
|
## 1.1.5 (2020-03-23)
|
|
4
30
|
|
|
5
31
|
* Upgrade `active_type` to `~> 1.3.0` for Rails 6 compatibility
|
data/README.md
CHANGED
|
@@ -1361,6 +1361,9 @@ RailsOps conveniently provides you with a `model` instance method, which is a
|
|
|
1361
1361
|
shortcut for `op.model`. This is particularly useful since this is available as
|
|
1362
1362
|
a view helper method as well, see next section.
|
|
1363
1363
|
|
|
1364
|
+
You can check whether a model is available by using the `model?` method, which
|
|
1365
|
+
is available in both controllers and views.
|
|
1366
|
+
|
|
1364
1367
|
### View helper methods
|
|
1365
1368
|
|
|
1366
1369
|
The following controller methods are automatically provided as helper methods
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.1.
|
|
1
|
+
1.1.10
|
|
@@ -21,6 +21,7 @@ module RailsOps
|
|
|
21
21
|
included do
|
|
22
22
|
if defined?(helper_method)
|
|
23
23
|
helper_method :model
|
|
24
|
+
helper_method :model?
|
|
24
25
|
helper_method :op
|
|
25
26
|
helper_method :op?
|
|
26
27
|
helper_method :op_context
|
|
@@ -85,6 +86,10 @@ module RailsOps
|
|
|
85
86
|
return op.model
|
|
86
87
|
end
|
|
87
88
|
|
|
89
|
+
def model?
|
|
90
|
+
!!(@model || op? && op.respond_to?(:model) && op.model)
|
|
91
|
+
end
|
|
92
|
+
|
|
88
93
|
# Filters the `params` hash for use with RailsOps. This removes certain
|
|
89
94
|
# web-specific parameters based on `EXCEPT_PARAMS`.
|
|
90
95
|
def filter_op_params(params)
|
data/lib/rails_ops/exceptions.rb
CHANGED
data/lib/rails_ops/hookup.rb
CHANGED
data/lib/rails_ops/operation.rb
CHANGED
|
@@ -107,7 +107,7 @@ class RailsOps::Operation
|
|
|
107
107
|
# any validation exception.
|
|
108
108
|
def run!
|
|
109
109
|
ActiveSupport::Notifications.instrument('run.rails_ops', operation: self) do
|
|
110
|
-
::RailsOps::Profiler.profile(object_id
|
|
110
|
+
::RailsOps::Profiler.profile(object_id) do
|
|
111
111
|
fail 'An operation can only be performed once.' if performed?
|
|
112
112
|
@performed = true
|
|
113
113
|
run_policies :before_perform
|
|
@@ -125,7 +125,12 @@ class RailsOps::Operation
|
|
|
125
125
|
def inspect
|
|
126
126
|
inspection = self.class.name || '(AnonymousOp)'
|
|
127
127
|
if params
|
|
128
|
-
|
|
128
|
+
begin
|
|
129
|
+
inspected_params = inspect_params(filtered_params)
|
|
130
|
+
rescue
|
|
131
|
+
inspected_params = '<could not inspect params>'
|
|
132
|
+
end
|
|
133
|
+
inspection += " (#{inspected_params})"
|
|
129
134
|
end
|
|
130
135
|
return inspection
|
|
131
136
|
end
|
data/rails_ops.gemspec
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
|
2
|
-
# stub: rails_ops 1.1.
|
|
2
|
+
# stub: rails_ops 1.1.10 ruby lib
|
|
3
3
|
|
|
4
4
|
Gem::Specification.new do |s|
|
|
5
5
|
s.name = "rails_ops".freeze
|
|
6
|
-
s.version = "1.1.
|
|
6
|
+
s.version = "1.1.10"
|
|
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 = "2020-
|
|
11
|
+
s.date = "2020-07-29"
|
|
12
12
|
s.files = [".gitignore".freeze, ".releaser_config".freeze, ".rubocop.yml".freeze, ".travis.yml".freeze, "CHANGELOG.md".freeze, "Gemfile".freeze, "LICENSE.txt".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
13
|
s.rubygems_version = "3.1.2".freeze
|
|
14
14
|
s.summary = "An operations service layer for rails projects.".freeze
|
|
@@ -150,4 +150,9 @@ class RailsOps::OperationTest < ActiveSupport::TestCase
|
|
|
150
150
|
assert_equal 'RailsOps::OperationTest::BASIC_OP ({"foo"=>:bar})',
|
|
151
151
|
BASIC_OP.new(foo: :bar).inspect
|
|
152
152
|
end
|
|
153
|
+
|
|
154
|
+
def test_inspect_with_numeric_param_keys
|
|
155
|
+
assert_equal 'RailsOps::OperationTest::BASIC_OP ({1=>2})',
|
|
156
|
+
BASIC_OP.new(1 => 2).inspect
|
|
157
|
+
end
|
|
153
158
|
end
|
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.
|
|
4
|
+
version: 1.1.10
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sitrox
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-
|
|
11
|
+
date: 2020-07-29 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|