class Attractor::DurationParser

converts a duration string into an amount of days

Constants

TOKENS

Attributes

duration[R]

Public Class Methods

new(input) click to toggle source
# File lib/attractor/duration_parser.rb, line 15
def initialize(input)
  @input = input
  @duration = @input.is_a?(Numeric) ? @input : 0
  return if @duration > 0

  parse
end

Public Instance Methods

parse() click to toggle source
# File lib/attractor/duration_parser.rb, line 23
def parse
  @input.scan(/(\d+)(\w)/).each do |amount, measure|
    @duration += amount.to_i * TOKENS[measure]
  end
end