6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'app/services/spree_cm_commissioner/routes/increment_trip_count.rb', line 6
def call(trip:)
return failure(nil, 'Trip not found') unless trip
vendor = trip.vendor
return failure(nil, 'Vendor not found') unless vendor
ActiveRecord::Base.transaction do
route = trip.route
route.update!(trip_count: route.trip_count + 1)
vendor_route = find_or_create_vendor_route(vendor: vendor, route: route)
vendor_route.update!(trip_count: vendor_route.trip_count + 1)
end
success(trip: trip)
rescue StandardError => e
failure(nil, e.message)
end
|