class Datacaster::Checker

Public Class Methods

new(name, error, &block) click to toggle source
# File lib/datacaster/checker.rb, line 3
def initialize(name, error, &block)
  raise "Expected block" unless block_given?

  @name = name
  @error = error
  @check = block
end

Public Instance Methods

call(object) click to toggle source
Calls superclass method Datacaster::Base#call
# File lib/datacaster/checker.rb, line 11
def call(object)
  intermediary_result = super(object)
  object = intermediary_result.value

  if @check.(object)
    Datacaster.ValidResult(object)
  else
    Datacaster.ErrorResult([@error])
  end
end
inspect() click to toggle source
# File lib/datacaster/checker.rb, line 22
def inspect
  "#<Datacaster::#{@name}Checker>"
end