Module: L43Rmap::Tools::Time

Extended by:
Time, Rgx
Included in:
Time
Defined in:
lib/l43_rmap/tools/time.rb,
lib/l43_rmap/tools/time/rgx.rb

Defined Under Namespace

Modules: Rgx

Constant Summary collapse

Range =
L43::OpenObject.def_class(:start, :stop)
BadTimeFormat =
Class.new(RuntimeError)

Instance Method Summary collapse

Methods included from Rgx

ndigits

Instance Method Details

#in_range(time, range) ⇒ Object



14
15
16
17
18
19
# File 'lib/l43_rmap/tools/time.rb', line 14

def in_range(time, range)
  time = time.to_time
  left = (time >= range.start)
  # p(time: time.iso8601, start: range.start.iso8601, left:)
  left && (time <= range.stop)
end

#range_from_string(str) ⇒ Object



21
22
23
24
25
26
27
28
29
30
# File 'lib/l43_rmap/tools/time.rb', line 21

def range_from_string(str)
  case str.gsub(/[_T:]/, '').split(/(?:-|\.\.)/)
  in [start]
    _range_from_strings(start)
  in [start, stop]
    _range_from_strings(start, stop)
  else
    raise ArgumentError, "too many ranges in #{str}"
  end
end

#time_from_string(str) ⇒ Object



32
# File 'lib/l43_rmap/tools/time.rb', line 32

def time_from_string(str) = _mk_time(str)