class Chronic::Scalar
Constants
- DAY_PORTIONS
Public Class Methods
scan(tokens, options)
click to toggle source
Scan an Array of Token
objects and apply any necessary Scalar
tags to each token.
tokens - An Array of tokens to scan. options - The Hash of options specified in Chronic::parse
.
Returns an Array of tokens.
# File lib/chronic/scalar.rb, line 12 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
Public Instance Methods
to_s()
click to toggle source
# File lib/chronic/scalar.rb, line 35 def to_s 'scalar' end