class Lab42::BasicConstraints::Constraint
Attributes
default[R]
name[R]
Public Class Methods
new(name, &blk)
click to toggle source
# File lib/lab42/basic_constraints/constraint.rb, line 52 def initialize name, &blk @constraint = blk @has_default = false @default = -> {} @name = name end
Public Instance Methods
call(value)
click to toggle source
# File lib/lab42/basic_constraints/constraint.rb, line 10 def call value return Result.ok if @constraint.(value) Result.error("#{_show value} is not a legal #{@name}", error: Lab42::BasicConstraints::ConstraintError) end
set_default(value=nil, &blk)
click to toggle source
# File lib/lab42/basic_constraints/constraint.rb, line 29 def set_default value=nil, &blk @default = if value value else blk end @has_default = true self end
Private Instance Methods
_show(value)
click to toggle source
# File lib/lab42/basic_constraints/constraint.rb, line 41 def _show value case value when NilClass "nil" when String value.inspect else value end end