class CloudSesame::Query::AST::Abstract::Value
Constants
- DATETIME_FORMAT
- DATE_FORMAT
- DIGIT_FORMAT
- RANGE_FORMAT
CONSTANTS
¶ ↑
- TIME_FORMAT
Attributes
changed[R]
compiled[R]
value[R]
Public Class Methods
datetime?(value)
click to toggle source
# File lib/cloud_sesame/query/ast/abstract/value.rb, line 38 def self.datetime?(value) value.kind_of?(::Date) || value.kind_of?(::Time) end
new(value, type = nil)
click to toggle source
numeric?(value)
click to toggle source
# File lib/cloud_sesame/query/ast/abstract/value.rb, line 30 def self.numeric?(value) value.is_a?(::Numeric) end
range?(value)
click to toggle source
string_date?(value)
click to toggle source
# File lib/cloud_sesame/query/ast/abstract/value.rb, line 50 def self.string_date?(value) value.is_a?(String) && DATE_FORMAT =~ value end
string_datetime?(value)
click to toggle source
# File lib/cloud_sesame/query/ast/abstract/value.rb, line 42 def self.string_datetime?(value) value.is_a?(::String) && DATETIME_FORMAT =~ value end
string_numeric?(value)
click to toggle source
# File lib/cloud_sesame/query/ast/abstract/value.rb, line 34 def self.string_numeric?(value) value.is_a?(::String) && !!(DIGIT_FORMAT =~ value) end
string_range?(value)
click to toggle source
# File lib/cloud_sesame/query/ast/abstract/value.rb, line 26 def self.string_range?(value) value.is_a?(::String) && !!(RANGE_FORMAT =~ strip(value)) end
string_time?(value)
click to toggle source
# File lib/cloud_sesame/query/ast/abstract/value.rb, line 46 def self.string_time?(value) value.is_a?(::String) && TIME_FORMAT =~ value end
Private Class Methods
strip(string)
click to toggle source
strip!(string)
click to toggle source
# File lib/cloud_sesame/query/ast/abstract/value.rb, line 97 def self.strip!(string) string.to_s.tr!(' ', '') end
Public Instance Methods
==(value)
click to toggle source
# File lib/cloud_sesame/query/ast/abstract/value.rb, line 77 def ==(value) (value.respond_to?(:compile) && compile == value.compile) || @value == value || compile == value end
compile()
click to toggle source
# File lib/cloud_sesame/query/ast/abstract/value.rb, line 69 def compile changed ? recompile(value) : @compiled end
to_s()
click to toggle source
# File lib/cloud_sesame/query/ast/abstract/value.rb, line 73 def to_s value.to_s end
value=(value)
click to toggle source
# File lib/cloud_sesame/query/ast/abstract/value.rb, line 62 def value=(value) unless @value == value @changed = true @value = value end end
Private Instance Methods
recompile(value)
click to toggle source
# File lib/cloud_sesame/query/ast/abstract/value.rb, line 85 def recompile(value) @changed = false @compiled = value end
strip(string)
click to toggle source
# File lib/cloud_sesame/query/ast/abstract/value.rb, line 101 def strip(string) string.to_s.tr(' ', '') end
strip!(string)
click to toggle source
# File lib/cloud_sesame/query/ast/abstract/value.rb, line 105 def strip!(string) string.to_s.tr!(' ', '') end