Sha256: 4476f8c047e407f85635ecedd92612e5bcbbbc14b2a1dd23622b1b38d824ac13

Contents?: true

Size: 1.08 KB

Versions: 19

Compression:

Stored size: 1.08 KB

Contents

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

class MultiSolr::SolrFilterDate < MultiSolr::SolrFilterSimple


  # 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
  #
  def initialize filter_name, options={}
    @mode = options.delete(:mode)
    super(filter_name, options)
  end


  # Erzeugen des SolR-Query-Strings
  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


  def render_value value
    value.to_s
  end


end




Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
multi-solr-01.09.00 lib/multi_solr/solr_filter_date.rb
multi-solr-01.08.01 lib/multi_solr/solr_filter_date.rb
multi-solr-01.08.00 lib/multi_solr/solr_filter_date.rb
multi-solr-01.07.07 lib/multi_solr/solr_filter_date.rb
multi-solr-01.07.06 lib/multi_solr/solr_filter_date.rb
multi-solr-01.07.05 lib/multi_solr/solr_filter_date.rb
multi-solr-01.07.04 lib/multi_solr/solr_filter_date.rb
multi-solr-01.07.03 lib/multi_solr/solr_filter_date.rb
multi-solr-01.07.02 lib/multi_solr/solr_filter_date.rb
multi-solr-01.07.01 lib/multi_solr/solr_filter_date.rb
multi-solr-01.07.00 lib/multi_solr/solr_filter_date.rb
multi-solr-01.06.00 lib/multi_solr/solr_filter_date.rb
multi-solr-01.05.00 lib/multi_solr/solr_filter_date.rb
multi-solr-01.04.00 lib/multi_solr/solr_filter_date.rb
multi-solr-01.03.00 lib/multi_solr/solr_filter_date.rb
multi-solr-01.02.01 lib/multi_solr/solr_filter_date.rb
multi-solr-01.02.00 lib/multi_solr/solr_filter_date.rb
multi-solr-01.01.06 lib/multi_solr/solr_filter_date.rb
multi-solr-01.01.05 lib/multi_solr/solr_filter_date.rb