class Dry::Schema::Step
@api private
Attributes
executor[R]
@api private
name[R]
@api private
type[R]
@api private
Public Class Methods
new(type:, name:, executor:)
click to toggle source
@api private
# File lib/dry/schema/step.rb, line 50 def initialize(type:, name:, executor:) @type = type @name = name @executor = executor validate_name(name) end
Public Instance Methods
call(result)
click to toggle source
@api private
# File lib/dry/schema/step.rb, line 58 def call(result) output = executor.(result) result.replace(output) if output.is_a?(Hash) output end
scoped(path)
click to toggle source
@api private
# File lib/dry/schema/step.rb, line 65 def scoped(path) Scoped.new(path, self) end
Private Instance Methods
validate_name(name)
click to toggle source
@api private
# File lib/dry/schema/step.rb, line 72 def validate_name(name) return if STEPS_IN_ORDER.include?(name) raise ArgumentError, "Undefined step name #{name}. Available names: #{STEPS_IN_ORDER}" end