Sha256: aa2c45de656f9e586a5d85cd50f82ebd96a5408cbee8bd708f0adfa7221510af

Contents?: true

Size: 1.04 KB

Versions: 2

Compression:

Stored size: 1.04 KB

Contents

module Indexed
  module Wrappers

    module Bundle

      # A location calculation recalculates a location to the Picky internal location.
      #
      class Location < Calculation

        def initialize bundle, options = {}
          super bundle

          precision  = options[:precision] || 1
          user_grid  = options[:grid] || raise("Gridsize needs to be given for location #{bundle.identifier}.")

          @calculation = Calculations::Location.new user_grid, precision
        end

        #
        #
        def recalculate float
          @calculation.recalculate float
        end

        #
        #
        def load
          # Load first the bundle, then extract the config.
          #
          bundle.load
          # TODO Move the to_f to the backend.
          #
          minimum = bundle[:location_minimum] && bundle[:location_minimum].to_f || raise("Configuration :location_minimum for #{bundle.identifier} missing. Did you run rake index already?")
          @calculation.minimum = minimum
        end

      end

    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
picky-2.7.0 lib/picky/indexed/wrappers/bundle/location.rb
picky-2.6.0 lib/picky/indexed/wrappers/bundle/location.rb