class Definition::Types::Lambda

Attributes

test[RW]
test_lambda[RW]

Public Class Methods

new(name, context: {}, &test_lambda) click to toggle source
Calls superclass method Definition::Types::Base::new
# File lib/definition/types/lambda.rb, line 15
def initialize(name, context: {}, &test_lambda)
  self.test_lambda = test_lambda
  super(name, context: context)
end

Public Instance Methods

conform(value) click to toggle source
# File lib/definition/types/lambda.rb, line 20
def conform(value)
  lambda_result = instance_exec(value, &test_lambda)
  return lambda_result if lambda_result.is_a?(ConformResult)

  ConformResult.new(value, errors: [
                      ConformError.new(self, "Did not pass test for #{name}")
                    ])
end