Module: ERPC::Validation

Defined in:
lib/erpc_sdk/rest.rb

Class Method Summary collapse

Class Method Details

.datetime(value) ⇒ Object



31
32
33
34
35
36
37
# File 'lib/erpc_sdk/rest.rb', line 31

def datetime(value)
  text = string(value)
  Time.iso8601(text)
  text
rescue ArgumentError
  raise InvalidResponseError
end

.mapping(value) ⇒ Object



10
11
12
13
14
# File 'lib/erpc_sdk/rest.rb', line 10

def mapping(value)
  raise InvalidResponseError unless value.is_a?(Hash) && value.keys.all? { |key| key.is_a?(String) }

  value
end

.number(value, integer: false, nonnegative: false) ⇒ Object



22
23
24
25
26
27
28
29
# File 'lib/erpc_sdk/rest.rb', line 22

def number(value, integer: false, nonnegative: false)
  valid = value.is_a?(Numeric) && value.finite?
  valid &&= value.is_a?(Integer) if integer
  valid &&= value >= 0 if nonnegative
  raise InvalidResponseError unless valid

  value
end

.string(value) ⇒ Object



16
17
18
19
20
# File 'lib/erpc_sdk/rest.rb', line 16

def string(value)
  raise InvalidResponseError unless value.is_a?(String)

  value
end