class Chronic::Scalar
def self.scan(tokens, options)
options - The Hash of options specified in Chronic::parse.
tokens - An Array of tokens to scan.
tags to each token.
Scan an Array of Token objects and apply any necessary Scalar
def self.scan(tokens, options) tokens.each_index do |i| token = tokens[i] post_token = tokens[i + 1] if token.word =~ /^\d+$/ scalar = token.word.to_i token.tag(Scalar.new(scalar)) token.tag(ScalarSubsecond.new(scalar)) if Chronic::Time::could_be_subsecond?(scalar) token.tag(ScalarSecond.new(scalar)) if Chronic::Time::could_be_second?(scalar) token.tag(ScalarMinute.new(scalar)) if Chronic::Time::could_be_minute?(scalar) token.tag(ScalarHour.new(scalar)) if Chronic::Time::could_be_hour?(scalar) unless post_token and DAY_PORTIONS.include?(post_token.word) token.tag(ScalarDay.new(scalar)) if Chronic::Date::could_be_day?(scalar) token.tag(ScalarMonth.new(scalar)) if Chronic::Date::could_be_month?(scalar) if Chronic::Date::could_be_year?(scalar) year = Chronic::Date::make_year(scalar, options[:ambiguous_year_future_bias]) token.tag(ScalarYear.new(year.to_i)) end end end end end