Sha256: caeb112c9b01eb5a5750cacb44fd082f9a94a35742639bf4b9d851265493df59

Contents?: true

Size: 1.13 KB

Versions: 10

Compression:

Stored size: 1.13 KB

Contents

module Internals
  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 = Internals::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

10 entries across 10 versions & 1 rubygems

Version Path
picky-2.5.2 lib/picky/internals/indexed/wrappers/bundle/location.rb
picky-2.5.1 lib/picky/internals/indexed/wrappers/bundle/location.rb
picky-2.5.0 lib/picky/internals/indexed/wrappers/bundle/location.rb
picky-2.4.3 lib/picky/internals/indexed/wrappers/bundle/location.rb
picky-2.4.2 lib/picky/internals/indexed/wrappers/bundle/location.rb
picky-2.4.1 lib/picky/internals/indexed/wrappers/bundle/location.rb
picky-2.4.0 lib/picky/internals/indexed/wrappers/bundle/location.rb
picky-2.3.0 lib/picky/internals/indexed/wrappers/bundle/location.rb
picky-2.2.1 lib/picky/internals/indexed/wrappers/bundle/location.rb
picky-2.2.0 lib/picky/internals/indexed/wrappers/bundle/location.rb