Module: AttrValidator::ArgsValidator
- Defined in:
- lib/attr_validator/args_validator.rb
Overview
Helper class for arguments validation
Defined Under Namespace
Classes: ArgError
Class Method Summary collapse
-
.block_given!(block) ⇒ Object
Checks that specified
block
is given. -
.has_key!(hash, key) ⇒ Object
Checks that specifid
hash
has a specifiedkey
. - .has_only_allowed_keys!(hash, keys, obj_name) ⇒ Object
-
.is_array!(obj, obj_name) ⇒ Object
Checks that specifid
obj
is an Array. -
.is_boolean!(obj, obj_name) ⇒ Object
Checks that specifid
obj
is a boolean. -
.is_class_or_symbol!(obj, obj_name) ⇒ Object
Checks that specifid
obj
is a symbol or class. -
.is_hash!(obj, obj_name) ⇒ Object
Checks that specifid
obj
is a Hash. -
.is_integer!(obj, obj_name) ⇒ Object
Checks that specifid
obj
is an integer. -
.is_integer_or_float!(obj, obj_name) ⇒ Object
Checks that specifid
obj
is an integer or float. -
.is_string_or_regexp!(obj, obj_name) ⇒ Object
Checks that specifid
obj
is a string or regexp. -
.is_symbol!(obj, obj_name) ⇒ Object
Checks that specifid
obj
is a symbol. -
.is_symbol_or_block!(obj, obj_name) ⇒ Object
Checks that specifid
obj
is a symbol or block. - .not_nil!(obj, obj_name) ⇒ Object
Class Method Details
.block_given!(block) ⇒ Object
Checks that specified block
is given
112 113 114 115 116 |
# 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) ⇒ Object
Checks that specifid hash
has a specified key
91 92 93 94 95 |
# 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) ⇒ Object
103 104 105 106 107 108 |
# 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) ⇒ Object
Checks that specifid obj
is an Array
37 38 39 40 41 |
# 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) ⇒ Object
Checks that specifid obj
is a boolean
19 20 21 22 23 |
# 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) ⇒ Object
Checks that specifid obj
is a symbol or class
73 74 75 76 77 |
# 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) ⇒ Object
Checks that specifid obj
is a Hash
46 47 48 49 50 |
# 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) ⇒ Object
Checks that specifid obj
is an integer
28 29 30 31 32 |
# 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) ⇒ Object
Checks that specifid obj
is an integer or float
55 56 57 58 59 |
# 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) ⇒ Object
Checks that specifid obj
is a string or regexp
64 65 66 67 68 |
# 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) ⇒ Object
Checks that specifid obj
is a symbol
10 11 12 13 14 |
# 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) ⇒ Object
Checks that specifid obj
is a symbol or block
82 83 84 85 86 |
# 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) ⇒ Object
97 98 99 100 101 |
# 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 |