Sha256: 6336bca6c0af951717be1f084f1e9df0a5b8ffd774e25569ece3cb91eb973573

Contents?: true

Size: 1.12 KB

Versions: 5

Compression:

Stored size: 1.12 KB

Contents

module Picky

  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

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
picky-3.0.0.pre5 lib/picky/indexed/wrappers/bundle/location.rb
picky-3.0.0.pre4 lib/picky/indexed/wrappers/bundle/location.rb
picky-3.0.0.pre3 lib/picky/indexed/wrappers/bundle/location.rb
picky-3.0.0.pre2 lib/picky/indexed/wrappers/bundle/location.rb
picky-3.0.0.pre1 lib/picky/indexed/wrappers/bundle/location.rb