class Tchae::PositionalArgs

Public Class Methods

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

Public Instance Methods

arg(&proc) click to toggle source
# File lib/tchae/core.rb, line 203
def arg(&proc)
  push Tchae(proc)
  @wrapper
end
expect(*constraints, &proc) click to toggle source

def expect(constraints = EMPTY_ARRAY, &proc)

# File lib/tchae/core.rb, line 209
def expect(*constraints, &proc)
  constraints.each { |inp| push Tchae(inp) }
  instance_exec(&proc) if block_given?
  @wrapper
end
valid_or_raise_exception(params) click to toggle source
# File lib/tchae/core.rb, line 215
def valid_or_raise_exception(params)
  params.zip(self).each do |parm, valtor|
    next unless valtor

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

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