class Moguro::Clauses

Public Class Methods

new() click to toggle source

@private

Calls superclass method
# File lib/moguro/caluse.rb, line 47
def initialize
  super([])
end

Public Instance Methods

add_verified_argument(argument_key) click to toggle source
# File lib/moguro/caluse.rb, line 51
def add_verified_argument(argument_key)
  self << DataTypeClause.new(argument_key)
end
inspect() click to toggle source
# File lib/moguro/caluse.rb, line 63
def inspect
  map(&:inspect)
end
verify!(args) click to toggle source

Validation arguments @param args Moguro::ArgumentsExtractor::Values

# File lib/moguro/caluse.rb, line 59
def verify!(args)
  verify_arguments!(args)
end

Private Instance Methods

verify_arguments!(args) click to toggle source
# File lib/moguro/caluse.rb, line 69
def verify_arguments!(args)
  verify_arguments_length!(args)
  verify_arguments_types!(args)
end
verify_arguments_length!(args) click to toggle source
# File lib/moguro/caluse.rb, line 74
def verify_arguments_length!(args)
  missing_keys = args.select(&:missing?).map(&:key)
  raise Moguro::Errors::ArgumentError, "Missing required parameters at ##{@name}: #{missing_keys.join(', ')}" if missing_keys.any?
end
verify_arguments_types!(args) click to toggle source
# File lib/moguro/caluse.rb, line 79
def verify_arguments_types!(args)
  each do |clause|
    args_i = args.index { |a| a.key == clause.key }
    clause.verify!(args[args_i])
  end
rescue Moguro::Errors::TypeMismatchError => e
  e.actual = args
  e.expected = self
  raise e
end