Class: SpreeCmCommissioner::VendorPlaces::CreateWithGoogleMapData
- Defined in:
- app/services/spree_cm_commissioner/vendor_places/create_with_google_map_data.rb
Constant Summary
Constants inherited from Base
Instance Method Summary collapse
-
#call(vendor:, place_type:, google_place_base_64_content:, contact_phone: nil, description: nil, location: nil) ⇒ Object
rubocop:disable Metrics/ParameterLists.
Instance Method Details
#call(vendor:, place_type:, google_place_base_64_content:, contact_phone: nil, description: nil, location: nil) ⇒ Object
rubocop:disable Metrics/ParameterLists
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'app/services/spree_cm_commissioner/vendor_places/create_with_google_map_data.rb', line 23 def call(vendor:, place_type:, google_place_base_64_content:, contact_phone: nil, description: nil, location: nil) # rubocop:disable Metrics/ParameterLists = validate_place_type!(place_type) return failure(nil, ) if .present? # Only require location for stop and branch types return failure(nil, I18n.t('controller.vendor_places.location_required')) if %w[stop branch].include?(place_type) && location.nil? place = process_place(google_place_base_64_content: google_place_base_64_content) return failure(nil, place) unless place.is_a?(SpreeCmCommissioner::Place) vendor_place = create_vendor_place( vendor: vendor, place: place, place_type: place_type, contact_phone: contact_phone, description: description, location: location ) return failure(nil, vendor_place) if vendor_place.nil? || vendor_place.is_a?(String) success(vendor_place) end |