Sha256: 9eb3bdae5b2d66e8e07a8d9f4b0125990778e67b0367390331d4ef6ff0578fbd
Contents?: true
Size: 998 Bytes
Versions: 2
Compression:
Stored size: 998 Bytes
Contents
# Filter für Bereiche mit von- und bis-Werten class MultiSolr::SolrFilterRange < MultiSolr::SolrFilterSimple # Erzeugen des SolR-Query-Strings def build_solr_query value from, to = extract_from_to value return nil if from.nil? && to.nil? "#{@field_name}:[#{from || '*'} TO #{to || '*'}]" end def render_value value from, to = extract_from_to value return '' if from.nil? && to.nil? s = [] s << ">=#{from}" unless from.blank? s << "<=#{to}" unless to.blank? s.join(' und ') end # Aus dem 'value' von und bis extrahieren # Params: # value: Hash mit from- und to-Datumsangabe (mit Filternamen als Prefix) # Beispiel: { 'create_date_from' => '2011-01-01', 'create_date_to' => '2011-06-01' } # returns: Array mit von und bis ['2011-01-01', '2011-06-01'] def extract_from_to value return nil if value.blank? || !value.is_a?(Hash) || value.empty? [ value["#{@name}_from"], value["#{@name }_to"] ] end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
multi-solr-01.07.02 | lib/multi_solr/solr_filter_range.rb |
multi-solr-01.07.01 | lib/multi_solr/solr_filter_range.rb |