module AttrValidator::ArgsValidator

Helper class for arguments validation

Public Class Methods

block_given!(block) click to toggle source

Checks that specified block is given @param block some block

# File lib/attr_validator/args_validator.rb, line 112
def block_given!(block)
  unless block
    raise ArgError, "Block should be given"
  end
end
has_key!(hash, key) click to toggle source

Checks that specifid hash has a specified key @param hash some hash @param key hash’s key

# File lib/attr_validator/args_validator.rb, line 91
def has_key!(hash, key)
  unless hash.has_key?(key)
    raise ArgError, "#{hash} should has #{key} key"
  end
end
has_only_allowed_keys!(hash, keys, obj_name) click to toggle source
# File lib/attr_validator/args_validator.rb, line 103
def has_only_allowed_keys!(hash, keys, obj_name)
  remaining_keys = hash.keys - keys
  unless remaining_keys.empty?
    raise ArgError, "#{obj_name} has unacceptable options #{remaining_keys}"
  end
end
is_array!(obj, obj_name) click to toggle source

Checks that specifid obj is an Array @param obj some object @param obj_name object’s name, used to clarify error causer in exception

# File lib/attr_validator/args_validator.rb, line 37
def is_array!(obj, obj_name)
  unless obj.is_a?(Array)
    raise ArgError, "#{obj_name} should be an Array"
  end
end
is_boolean!(obj, obj_name) click to toggle source

Checks that specifid obj is a boolean @param obj some object @param obj_name object’s name, used to clarify error causer in exception

# File lib/attr_validator/args_validator.rb, line 19
def is_boolean!(obj, obj_name)
  if !obj.is_a?(TrueClass) && !obj.is_a?(FalseClass)
    raise ArgError, "#{obj_name} should be a Boolean"
  end
end
is_class_or_symbol!(obj, obj_name) click to toggle source

Checks that specifid obj is a symbol or class @param obj some object @param obj_name object’s name, used to clarify error causer in exception

# File lib/attr_validator/args_validator.rb, line 73
def is_class_or_symbol!(obj, obj_name)
  if !obj.is_a?(Symbol) && !obj.is_a?(Class)
    raise ArgError, "#{obj_name} should be a Symbol or Class"
  end
end
is_hash!(obj, obj_name) click to toggle source

Checks that specifid obj is a Hash @param obj some object @param obj_name object’s name, used to clarify error causer in exception

# File lib/attr_validator/args_validator.rb, line 46
def is_hash!(obj, obj_name)
  unless obj.is_a?(Hash)
    raise ArgError, "#{obj_name} should be a Hash"
  end
end
is_integer!(obj, obj_name) click to toggle source

Checks that specifid obj is an integer @param obj some object @param obj_name object’s name, used to clarify error causer in exception

# File lib/attr_validator/args_validator.rb, line 28
def is_integer!(obj, obj_name)
  unless obj.is_a?(Integer)
    raise ArgError, "#{obj_name} should be an Integer"
  end
end
is_integer_or_float!(obj, obj_name) click to toggle source

Checks that specifid obj is an integer or float @param obj some object @param obj_name object’s name, used to clarify error causer in exception

# File lib/attr_validator/args_validator.rb, line 55
def is_integer_or_float!(obj, obj_name)
  if !obj.is_a?(Integer) && !obj.is_a?(Float)
    raise ArgError, "#{obj_name} should be an Integer or Float"
  end
end
is_string_or_regexp!(obj, obj_name) click to toggle source

Checks that specifid obj is a string or regexp @param obj some object @param obj_name object’s name, used to clarify error causer in exception

# File lib/attr_validator/args_validator.rb, line 64
def is_string_or_regexp!(obj, obj_name)
  if !obj.is_a?(String) && !obj.is_a?(Regexp)
    raise ArgError, "#{obj_name} should be a String or Regexp"
  end
end
is_symbol!(obj, obj_name) click to toggle source

Checks that specifid obj is a symbol @param obj some object @param obj_name object’s name, used to clarify error causer in exception

# File lib/attr_validator/args_validator.rb, line 10
def is_symbol!(obj, obj_name)
  unless obj.is_a?(Symbol)
    raise ArgError, "#{obj_name} should be a Symbol"
  end
end
is_symbol_or_block!(obj, obj_name) click to toggle source

Checks that specifid obj is a symbol or block @param obj some object @param obj_name object’s name, used to clarify error causer in exception

# File lib/attr_validator/args_validator.rb, line 82
def is_symbol_or_block!(obj, obj_name)
  if !obj.is_a?(Symbol) && !obj.is_a?(Proc)
    raise ArgError, "#{obj_name} should be a Symbol or Proc"
  end
end
not_nil!(obj, obj_name) click to toggle source
# File lib/attr_validator/args_validator.rb, line 97
def not_nil!(obj, obj_name)
  if obj.nil?
    raise ArgError, "#{obj_name} can't be nil"
  end
end