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