class Holidays::Definition::Context::FunctionProcessor

def validate!(input, func_id, desired_func_args)

def validate!(input, func_id, desired_func_args)
  raise ArgumentError if desired_func_args.nil? || desired_func_args.empty?
  desired_func_args.each do |name|
    raise ArgumentError unless VALID_ARGUMENTS.include?(name)
  end
  raise ArgumentError if desired_func_args.include?(:year) && !input[:year].is_a?(Integer)
  raise ArgumentError if desired_func_args.include?(:month) && (input[:month] < 0 || input[:month] > 12)
  raise ArgumentError if desired_func_args.include?(:day) && (input[:day] < 1 || input[:day] > 31)
  raise ArgumentError if desired_func_args.include?(:region) && !input[:region].is_a?(Symbol)
end