class CloudSesame::Query::AST::DateValue

Constants

COMPILE_FORMAT
DATETIME_FORMAT
DATE_FORMAT
TIME_FORMAT

Public Class Methods

new(value, type = nil) click to toggle source
Calls superclass method
# File lib/cloud_sesame/query/ast/date_value.rb, line 16
def initialize(value, type = nil)
  value = Value.string_datetime?(value) ? parse_datetime(value) :
          Value.string_time?(value) ? parse_time(value) :
          Value.string_date?(value) ? parse_date(value) : value
  super(value, type)
end
parse(value) click to toggle source
# File lib/cloud_sesame/query/ast/date_value.rb, line 11
def self.parse(value)
  return value.parse self if value.kind_of?(RangeValue)
  range?(value) || string_range?(value) ? RangeValue.new(value, self) : new(value)
end

Public Instance Methods

to_s() click to toggle source
# File lib/cloud_sesame/query/ast/date_value.rb, line 23
def to_s
  compile
end

Private Instance Methods

format(value) click to toggle source
# File lib/cloud_sesame/query/ast/date_value.rb, line 45
def format(value)
  value.strftime COMPILE_FORMAT
end
parse_date(string) click to toggle source
# File lib/cloud_sesame/query/ast/date_value.rb, line 37
def parse_date(string)
  Date.strptime(string, DATE_FORMAT)
end
parse_datetime(string) click to toggle source
# File lib/cloud_sesame/query/ast/date_value.rb, line 29
def parse_datetime(string)
  DateTime.strptime(string, DATETIME_FORMAT)
end
parse_time(string) click to toggle source
# File lib/cloud_sesame/query/ast/date_value.rb, line 33
def parse_time(string)
  DateTime.strptime(string, TIME_FORMAT)
end
recompile(value) click to toggle source
Calls superclass method
# File lib/cloud_sesame/query/ast/date_value.rb, line 41
def recompile(value)
  super strip format value
end