Sha256: a7d0989e966367d680dcc5957964f96a9b46f48612ea37222eed34589ed5d542

Contents?: true

Size: 544 Bytes

Versions: 22

Compression:

Stored size: 544 Bytes

Contents

class Supernova::Condition
  attr_accessor :key, :type
  
  def initialize(key, type)
    self.key = key
    self.type = type
  end
  
  def solr_filter_for(value)
    case type
      when :not, :ne
        if value.nil?
          "#{self.key}:[* TO *]"
        else
          "!#{self.key}:#{value}"
        end
      when :gt
        "#{self.key}:{#{value} TO *}"
      when :gte
        "#{self.key}:[#{value} TO *]"
      when :lt
        "#{self.key}:{* TO #{value}}"
      when :lte
        "#{self.key}:[* TO #{value}]"
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
supernova-0.6.2 lib/supernova/condition.rb
supernova-0.6.1 lib/supernova/condition.rb
supernova-0.6.0 lib/supernova/condition.rb
supernova-0.4.18 lib/supernova/condition.rb
supernova-0.4.17 lib/supernova/condition.rb
supernova-0.4.16 lib/supernova/condition.rb
supernova-0.4.15 lib/supernova/condition.rb
supernova-0.4.14 lib/supernova/condition.rb
supernova-0.4.13 lib/supernova/condition.rb
supernova-0.3.13 lib/supernova/condition.rb
supernova-0.3.12 lib/supernova/condition.rb
supernova-0.3.11 lib/supernova/condition.rb
supernova-0.3.10 lib/supernova/condition.rb
supernova-0.3.9 lib/supernova/condition.rb
supernova-0.3.8 lib/supernova/condition.rb
supernova-0.3.6 lib/supernova/condition.rb
supernova-0.3.5 lib/supernova/condition.rb
supernova-0.3.4 lib/supernova/condition.rb
supernova-0.3.3 lib/supernova/condition.rb
supernova-0.3.2 lib/supernova/condition.rb