Module: Servactory::Context::Callable

Defined in:
lib/servactory/context/callable.rb

Instance Method Summary collapse

Instance Method Details

#call(arguments = {}) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/servactory/context/callable.rb', line 16

def call(arguments = {})
  context = send(:new)

  _call!(context, arguments)

  config.result_class.success_for(context:)
rescue config.success_class => e
  config.result_class.success_for(context: e.context)
rescue config.failure_class => e
  config.result_class.failure_for(context:, exception: e)
end

#call!(arguments = {}) ⇒ Object



6
7
8
9
10
11
12
13
14
# File 'lib/servactory/context/callable.rb', line 6

def call!(arguments = {})
  context = send(:new)

  _call!(context, arguments)

  config.result_class.success_for(context:)
rescue config.success_class => e
  config.result_class.success_for(context: e.context)
end