Module: Axn::Core::ClassMethods

Defined in:
lib/axn/core.rb

Instance Method Summary collapse

Instance Method Details

#callObject



32
33
34
# File 'lib/axn/core.rb', line 32

def call(**)
  new(**).tap(&:_run).result
end

#call!Object

Raises:

  • (Axn::Failure.new(result.error, source: result.__action__))


36
37
38
39
40
41
42
43
44
45
# File 'lib/axn/core.rb', line 36

def call!(**)
  result = call(**)
  return result if result.ok?

  # When we're nested, we want to raise a failure that includes the source action to support
  # the error message generation's `from` filter
  raise Axn::Failure.new(result.error, source: result.__action__), cause: result.exception if _nested_in_another_axn?

  raise result.exception
end