Module: PredictabilityEngine::Duration
- Defined in:
- lib/predictability_engine/duration.rb
Constant Summary collapse
- UNITS =
{ 'd' => 1, 'w' => 7, 'm' => 30 }.freeze
Class Method Summary collapse
Class Method Details
.parse(spec) ⇒ Object
7 8 9 10 11 12 13 14 |
# File 'lib/predictability_engine/duration.rb', line 7 def self.parse(spec) return nil if spec.nil? match = spec.to_s.strip.downcase.match(/\A(\d+)([dwm])\z/) raise ArgumentError, "Invalid duration #{spec.inspect} (expected e.g. 1w, 2m, 30d)" unless match match[1].to_i * UNITS.fetch(match[2]) end |