Module: Sunspot::Type::DateType
- Defined in:
- lib/sunspot/type.rb
Overview
The DateType encapsulates dates (without time information). Internally, Solr does not have a date-only type, so this type indexes data using Solr’s DateField type (which is actually date/time), midnight UTC of the indexed date.
Class Method Summary collapse
-
.cast(string) ⇒ Object
:nodoc:.
-
.indexed_name(name) ⇒ Object
:nodoc:.
-
.to_indexed(value) ⇒ Object
:nodoc:.
Class Method Details
.cast(string) ⇒ Object
:nodoc:
150 151 152 153 |
# File 'lib/sunspot/type.rb', line 150 def cast(string) #:nodoc: time = Time.xmlschema(string) Date.civil(time.year, time.mon, time.mday) end |
.indexed_name(name) ⇒ Object
:nodoc:
133 134 135 |
# File 'lib/sunspot/type.rb', line 133 def indexed_name(name) #:nodoc: "#{name}_d" end |
.to_indexed(value) ⇒ Object
:nodoc:
137 138 139 140 141 142 143 144 145 146 147 148 |
# File 'lib/sunspot/type.rb', line 137 def to_indexed(value) #:nodoc: if value time = if %w(year mon mday).all? { |method| value.respond_to?(method) } Time.utc(value.year, value.mon, value.mday) else date = Date.parse(value.to_s) Time.utc(date.year, date.mon, date.mday) end time.utc.xmlschema end end |