Sha256: bcca35a8d67f3a9333647d95082249f6f937ec88b1fe027536872370ffd4784d

Contents?: true

Size: 999 Bytes

Versions: 1

Compression:

Stored size: 999 Bytes

Contents

# Filter für DBereiche 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 << "&gt;=#{from}" unless from.blank?
    s << "&lt;=#{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

1 entries across 1 versions & 1 rubygems

Version Path
multi-solr-01.07.00 lib/multi_solr/solr_filter_range.rb