lib/trailblazer/rails/controller.rb in trailblazer-rails-2.1.5 vs lib/trailblazer/rails/controller.rb in trailblazer-rails-2.1.6
- old
+ new
@@ -5,21 +5,21 @@
_run_operation_v21(operation, :trace, *dependencies).tap { |r| _operation_trace(r) }
else
_run_operation_v21(operation, :call, *dependencies)
end
- @model = result[:model]
- @form = Trailblazer::Rails::Form.new(result["contract.default"], @model.class)
+ _assign_trb_ivars(result)
yield(result) if result.success? && block_given?
@_result = result
end
alias run run_v21 unless method_defined?(:run)
- private
+ private
+
# Override to tweak params. Not recommended.
# Use a deserializer instead.
def _run_params(params)
params
end
@@ -36,15 +36,24 @@
end
def _run_operation_v21(operation, call_method, *dependencies)
operation.send(
call_method,
- { params: _run_params(self.params) }.merge(*_run_runtime_options(*dependencies))
+ {params: _run_params(self.params)}.merge(*_run_runtime_options(*dependencies)) # rubocop:disable Style/RedundantSelf
)
end
def _operation_trace(result)
puts result.wtf?
+ end
+
+ def _assign_trb_ivars(result)
+ @model = result[:model]
+ @form = _wrap_with_trb_form(result["contract.default"], @model.class)
+ end
+
+ def _wrap_with_trb_form(form, model)
+ Trailblazer::Rails::Form.new(form, model)
end
module Result
def result
@_result