Class: MultiSolr::SolrFilterDate

Inherits:
SolrFilterSimple show all
Defined in:
lib/multi_solr/solr_filter_date.rb

Overview

Filter für Datumsbereiche mit von- und bis-Datum

Instance Attribute Summary

Attributes inherited from SolrFilterSimple

#field_name, #name, #options

Instance Method Summary collapse

Methods inherited from SolrFilterSimple

#label, #sanitize_value

Constructor Details

#initialize(filter_name, options = {}) ⇒ SolrFilterDate

Constructor des Filters Params:

filter_name: Name des Filters als Symbol
options:     optionale Hash mit Optionen (siehe SolrFilterSimple) plus:
  :mode      Type der Nutzung des ang. Datums (Symbol):
             :from => Datum wird mit Zeit 00:00:00 genutzt
             :to => Datum wird mit Zeit 23:59:59 genutzt
             nil => Datum wird im Bereich 00:00:00 bis 23:59:59


15
16
17
18
# File 'lib/multi_solr/solr_filter_date.rb', line 15

def initialize filter_name, options={}
  @mode = options.delete(:mode)
  super(filter_name, options)
end

Instance Method Details

#build_solr_query(value) ⇒ Object

Erzeugen des SolR-Query-Strings



22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/multi_solr/solr_filter_date.rb', line 22

def build_solr_query value
  return nil if value.blank?
  date_range = nil
  case @mode
    when :from
      date_range = "[#{value}T00:00:00Z TO *]"
    when :to
      date_range = "[* TO #{value}T23:59:59Z]"
    else
      date_range = "[#{value}T00:00:00Z TO #{value}T23:59:59Z]"
  end
  "#{@field_name}:#{date_range}"
end

#render_value(value, options = nil) ⇒ Object



37
38
39
# File 'lib/multi_solr/solr_filter_date.rb', line 37

def render_value value, options=nil
  value.to_s
end