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