Class: SpreeCmCommissioner::NearbyPlaceCreator

Inherits:
BaseInteractor show all
Defined in:
app/interactors/spree_cm_commissioner/nearby_place_creator.rb

Instance Method Summary collapse

Instance Method Details

#callObject



5
6
7
8
9
10
11
12
13
14
# File 'app/interactors/spree_cm_commissioner/nearby_place_creator.rb', line 5

def call
  params.each_with_index do |param, index|
    place = SpreeCmCommissioner::Place.find_or_initialize_by(reference: param[:reference])
    place.update(param)

    distance = distance([vendor.lat, vendor.lon], [place.lat, place.lon])
    nearby_place = SpreeCmCommissioner::VendorPlace.find_or_initialize_by(vendor: vendor, place: place)
    nearby_place.update(distance: distance, position: index + 1)
  end
end