module Trailblazer::Macro::Policy::Guard

Public Class Methods

build(callable) click to toggle source
# File lib/trailblazer/macro/guard.rb, line 8
def self.build(callable)
  option = Trailblazer::Option(callable)

  # this gets wrapped in a Operation::Result object.
  ->((ctx, *), **circuit_args) do
    Trailblazer::Operation::Result.new(!!option.call(ctx, keyword_arguments: ctx.to_hash, **circuit_args), {})
  end
end