Sha256: e1089fa6c5fcf22c50b709108266539025cf2d6276794d5e6a113af7844dcaad

Contents?: true

Size: 914 Bytes

Versions: 1

Compression:

Stored size: 914 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 << "von #{from}" unless from.blank?
    s << "bis #{to}" unless to.blank?
    s.join(' ')
  end


  
  # Aus dem 'value' von und bis extrahieren
  # Params:
  #   value: Hash mit from- und to-Werten
  #          Beispiel: { 'from' => '2011-01-01', '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["from"], value["to"] ]
  end

end




Version data entries

1 entries across 1 versions & 1 rubygems

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