Class: Yoti::Validation

Inherits:
Object
  • Object
show all
Defined in:
lib/yoti/util/validation.rb

Class Method Summary collapse

Class Method Details

.assert_is_a(type, value, name, nilable = false) ⇒ Object

Parameters:

  • type (Class)
  • value
  • name (String)
  • nilable (Boolean) (defaults to: false)

Raises:

  • (ArgumentError)


21
22
23
24
25
26
# File 'lib/yoti/util/validation.rb', line 21

def self.assert_is_a(type, value, name, nilable = false)
  return if nilable && value.nil?
  return if value.is_a?(type)

  raise(ArgumentError, "#{name} must be a #{type.name}")
end

.assert_not_nil(value, name) ⇒ Object

Parameters:

  • value
  • name (String)

Raises:

  • (ArgumentError)


9
10
11
12
13
# File 'lib/yoti/util/validation.rb', line 9

def self.assert_not_nil(value, name)
  return unless value.nil?

  raise(ArgumentError, "#{name} must not be nil")
end

.assert_respond_to(method, value, name) ⇒ Object

Parameters:

  • method (Symbol)
  • value
  • name (String)

Raises:

  • (ArgumentError)


33
34
35
36
37
38
39
# File 'lib/yoti/util/validation.rb', line 33

def self.assert_respond_to(method, value, name)
  assert_not_nil(value, name)

  return if value.respond_to?(method)

  raise(ArgumentError, "#{name} must respond to #{method}")
end