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