Module: PureValidator::ArgsValidator
- Defined in:
- lib/pure_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
blockis given. -
.has_key!(hash, key) ⇒ Object
Checks that specifid
hashhas a specifiedkey. - .has_only_allowed_keys!(hash, keys, obj_name) ⇒ Object
-
.is_array!(obj, obj_name) ⇒ Object
Checks that specifid
objis an Array. -
.is_boolean!(obj, obj_name) ⇒ Object
Checks that specifid
objis a boolean. -
.is_class_or_symbol!(obj, obj_name) ⇒ Object
Checks that specifid
objis a symbol or class. -
.is_hash!(obj, obj_name) ⇒ Object
Checks that specifid
objis a Hash. -
.is_integer!(obj, obj_name) ⇒ Object
Checks that specifid
objis an integer. -
.is_integer_or_float!(obj, obj_name) ⇒ Object
Checks that specifid
objis an integer or float. -
.is_string_or_regexp!(obj, obj_name) ⇒ Object
Checks that specifid
objis a string or regexp. -
.is_symbol!(obj, obj_name) ⇒ Object
Checks that specifid
objis a symbol. -
.is_symbol_or_block!(obj, obj_name) ⇒ Object
Checks that specifid
objis a symbol or block. - .not_nil!(obj, obj_name) ⇒ Object
Class Method Details
.block_given!(block) ⇒ Object
Checks that specified block is given
94 95 96 97 98 |
# File 'lib/pure_validator/args_validator.rb', line 94 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
73 74 75 76 77 |
# File 'lib/pure_validator/args_validator.rb', line 73 def has_key!(hash, key) unless hash.has_key?(key) raise ArgError, "#{hash} should have '#{key}' key" end end |
.has_only_allowed_keys!(hash, keys, obj_name) ⇒ Object
85 86 87 88 89 90 |
# File 'lib/pure_validator/args_validator.rb', line 85 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
31 32 33 |
# File 'lib/pure_validator/args_validator.rb', line 31 def is_array!(obj, obj_name) allow!(obj, [Array], "#{obj_name} should be an Array") end |
.is_boolean!(obj, obj_name) ⇒ Object
Checks that specifid obj is a boolean
17 18 19 |
# File 'lib/pure_validator/args_validator.rb', line 17 def is_boolean!(obj, obj_name) allow!(obj, [TrueClass, FalseClass], "#{obj_name} should be a Boolean") end |
.is_class_or_symbol!(obj, obj_name) ⇒ Object
Checks that specifid obj is a symbol or class
59 60 61 |
# File 'lib/pure_validator/args_validator.rb', line 59 def is_class_or_symbol!(obj, obj_name) allow!(obj, [Symbol, Class], "#{obj_name} should be a Symbol or Class") end |
.is_hash!(obj, obj_name) ⇒ Object
Checks that specifid obj is a Hash
38 39 40 |
# File 'lib/pure_validator/args_validator.rb', line 38 def is_hash!(obj, obj_name) allow!(obj, [Hash], "#{obj_name} should be a Hash") end |
.is_integer!(obj, obj_name) ⇒ Object
Checks that specifid obj is an integer
24 25 26 |
# File 'lib/pure_validator/args_validator.rb', line 24 def is_integer!(obj, obj_name) allow!(obj, [Integer], "#{obj_name} should be an Integer") end |
.is_integer_or_float!(obj, obj_name) ⇒ Object
Checks that specifid obj is an integer or float
45 46 47 |
# File 'lib/pure_validator/args_validator.rb', line 45 def is_integer_or_float!(obj, obj_name) allow!(obj, [Integer, Float], "#{obj_name} should be an Integer or Float") end |
.is_string_or_regexp!(obj, obj_name) ⇒ Object
Checks that specifid obj is a string or regexp
52 53 54 |
# File 'lib/pure_validator/args_validator.rb', line 52 def is_string_or_regexp!(obj, obj_name) allow!(obj, [String, Regexp], "#{obj_name} should be a String or Regexp") end |
.is_symbol!(obj, obj_name) ⇒ Object
Checks that specifid obj is a symbol
10 11 12 |
# File 'lib/pure_validator/args_validator.rb', line 10 def is_symbol!(obj, obj_name) allow!(obj, [Symbol], "#{obj_name} should be a Symbol") end |
.is_symbol_or_block!(obj, obj_name) ⇒ Object
Checks that specifid obj is a symbol or block
66 67 68 |
# File 'lib/pure_validator/args_validator.rb', line 66 def is_symbol_or_block!(obj, obj_name) allow!(obj, [Symbol, Proc], "#{obj_name} should be a Symbol or Proc") end |
.not_nil!(obj, obj_name) ⇒ Object
79 80 81 82 83 |
# File 'lib/pure_validator/args_validator.rb', line 79 def not_nil!(obj, obj_name) if obj.nil? raise ArgError, "#{obj_name} can't be nil" end end |