class NxtSchema::Template::OnEvaluator

Attributes

condition[R]
value[R]

Public Class Methods

new(condition:, value:) click to toggle source
# File lib/nxt_schema/template/on_evaluator.rb, line 4
def initialize(condition:, value:)
  @condition = condition
  @value = value
end

Public Instance Methods

call(target = nil, *args, &block) click to toggle source
# File lib/nxt_schema/template/on_evaluator.rb, line 9
def call(target = nil, *args, &block)
  return unless condition_applies?(target, *args)

  result = Callable.new(value, target, *args).call
  block.yield(result)
end

Private Instance Methods

condition_applies?(target, *args) click to toggle source
# File lib/nxt_schema/template/on_evaluator.rb, line 18
def condition_applies?(target, *args)
  Callable.new(condition, target, *args).call
end