module Cadence::Concerns::Typed::ClassMethods
Attributes
input_class[R]
Public Instance Methods
execute_in_context(context, input)
click to toggle source
Calls superclass method
# File lib/cadence/concerns/typed.rb, line 14 def execute_in_context(context, input) input = input_class[*input] if input_class super(context, input) end
input(klass = nil, &block)
click to toggle source
# File lib/cadence/concerns/typed.rb, line 20 def input(klass = nil, &block) if klass unless klass.is_a?(Dry::Types::Type) raise 'Unsupported input class. Use one of the provided Cadence::Types' end @input_class = klass else @input_class = generate_struct @input_class.instance_eval(&block) end end
Private Instance Methods
generate_struct()
click to toggle source
# File lib/cadence/concerns/typed.rb, line 34 def generate_struct Class.new(Dry::Struct::Value) { transform_keys(&:to_sym) } end