Class: JSONSkooma::Validators::Duration

Inherits:
Base
  • Object
show all
Defined in:
lib/json_skooma/validators/duration.rb

Constant Summary collapse

SECOND =
/\d+S/
MINUTE =
/\d+M#{SECOND}?/
HOUR =
/\d+H#{MINUTE}?/
DAY =
/\d+D/
WEEK =
/\d+W/
MONTH =
/\d+M#{DAY}?/
YEAR =
/\d+Y#{MONTH}?/
TIME =
/T(#{HOUR}|#{MINUTE}|#{SECOND})/
DATE =
/(#{DAY}|#{MONTH}|#{YEAR})#{TIME}?/
DURATION =
/P(#{DATE}|#{TIME}|#{WEEK})/
REGEXP =
/\A#{DURATION}\z/

Instance Method Summary collapse

Methods inherited from Base

assert?, call, inherited

Instance Method Details

#call(data) ⇒ Object

Raises:



18
19
20
21
22
# File 'lib/json_skooma/validators/duration.rb', line 18

def call(data)
  return if REGEXP.match?(data)

  raise FormatError, "#{data} is not a valid duration"
end