class FortyFacets::RangeFilterDefinition::RangeFilter

Public Instance Methods

absolute_interval() click to toggle source
# File lib/forty_facets/filter/range_filter_definition.rb, line 23
def absolute_interval
  @abosultes ||= without.result.reorder('').select("min(#{definition.qualified_column_name}) AS min, max(#{definition.qualified_column_name}) as max").first
end
absolute_max() click to toggle source
# File lib/forty_facets/filter/range_filter_definition.rb, line 31
def absolute_max
  absolute_interval.max
end
absolute_min() click to toggle source
# File lib/forty_facets/filter/range_filter_definition.rb, line 27
def absolute_min
  absolute_interval.min
end
build_scope() click to toggle source
# File lib/forty_facets/filter/range_filter_definition.rb, line 4
def build_scope
  return Proc.new { |base| base } if empty?

  Proc.new do |base|
    base.joins(definition.joins)
      .where("#{definition.qualified_column_name} >= ? AND #{definition.qualified_column_name} <= ? ", min_value, max_value ) 
  end
end
max_value() click to toggle source
# File lib/forty_facets/filter/range_filter_definition.rb, line 18
def max_value
  return nil if empty?
  value.split(' - ').last
end
min_value() click to toggle source
# File lib/forty_facets/filter/range_filter_definition.rb, line 13
def min_value
  return nil if empty?
  value.split(' - ').first
end