Module: Trailblazer::Rails::Controller

Includes:
Result
Defined in:
lib/trailblazer/rails/controller.rb

Defined Under Namespace

Modules: Cell, Result

Instance Method Summary collapse

Methods included from Result

#result

Instance Method Details

#run_v21(operation, *dependencies, **variables, &block) ⇒ Object Also known as: run

TODO: deprecate *dependencies.



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/trailblazer/rails/controller.rb', line 4

def run_v21(operation, *dependencies, **variables, &block)
  result = if Rails.application.config.trailblazer.enable_tracing
             _run_operation_v21(operation, :wtf?, *dependencies, **variables)
           else
             _run_operation_v21(operation, :call, *dependencies, **variables)
           end

  _assign_trb_ivars(result)

  @_result = result

  return result if result.failure? || block.nil?

  if block.arity.eql?(1)
    yield(result)
  else
    yield(result, **result.to_hash)
  end

  result
end