module Picky module Tokenizers class Location < Picky::Tokenizer # TODO Still needed? attr_reader :calculation def initialize options = {} super options grid = options[:grid] precision = options[:precision] || 1 @calculation = Calculations::Location.new grid, precision @minimum = 1.0 / 0 @locations = [] end # # def tokenize text # Gather min/max. # source.harvest category do |indexed_id, location| location = location.to_f minimum = location if location < minimum locations << [indexed_id, location] end calculation.minimum = minimum # Recalculate locations. # locations.each do |indexed_id, location| calculation.recalculated_range(location).each do |new_location| yield indexed_id, new_location.to_s end end # TODO Move to the right place. # category.indexing_exact[:location_minimum] = minimum end end end end