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

Class Method Details

.block_given!(block) ⇒ Object

Checks that specified block is given

Parameters:

  • block

    some block



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

Parameters:

  • hash

    some hash

  • key

    hash’s 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

Parameters:

  • obj

    some object

  • obj_name

    object’s name, used to clarify error causer in exception



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

Parameters:

  • obj

    some object

  • obj_name

    object’s name, used to clarify error causer in exception



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

Parameters:

  • obj

    some object

  • obj_name

    object’s name, used to clarify error causer in exception



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

Parameters:

  • obj

    some object

  • obj_name

    object’s name, used to clarify error causer in exception



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

Parameters:

  • obj

    some object

  • obj_name

    object’s name, used to clarify error causer in exception



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

Parameters:

  • obj

    some object

  • obj_name

    object’s name, used to clarify error causer in exception



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

Parameters:

  • obj

    some object

  • obj_name

    object’s name, used to clarify error causer in exception



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

Parameters:

  • obj

    some object

  • obj_name

    object’s name, used to clarify error causer in exception



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

Parameters:

  • obj

    some object

  • obj_name

    object’s name, used to clarify error causer in exception



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