class Tchae::KeywordArgs

Public Class Methods

new(wrapper) click to toggle source
Calls superclass method
# File lib/tchae/core.rb, line 239
def initialize(wrapper)
  super()
  @wrapper = wrapper
end

Public Instance Methods

expect(**keywprocs) click to toggle source
# File lib/tchae/core.rb, line 244
def expect(**keywprocs)
  keywprocs.each { |argsymb, proc| self[argsymb] = Tchae(proc) }
  @wrapper
end
valid_or_raise_exception(keywps) click to toggle source
# File lib/tchae/core.rb, line 249
def valid_or_raise_exception(keywps)
  each  do |key, valtor|
    next unless valtor
    next unless ((parm = keywps[key]) if keywps.key?(key))

    valtor.valid_or_raise_exception(parm, ::Tchae::ArgumentTypeException)
  end
end
valid_or_return_error(keywps) click to toggle source
# File lib/tchae/core.rb, line 258
def valid_or_return_error(keywps)
  # returns nil if everything valid or an Error object otherwise
  valid = true
  failed = each do |key, valtor|
    next unless valtor
    next unless ((parm = keywps[key]) if keywps.key?(key))

    unless valtor.execute(parm)
      valid = false
      break valtor.return_error(parm, ::Tchae::ArgumentTypeError)
    end
  end
  valid ? nil : failed
end