Class: SpreeCmCommissioner::PlaceDecoder

Inherits:
Object
  • Object
show all
Defined in:
app/interactors/spree_cm_commissioner/place_decoder.rb

Class Method Summary collapse

Class Method Details

.process_place(base_64_content) ⇒ Object



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

def self.process_place(base_64_content)
  begin
    place_data = JSON.parse(Base64.strict_decode64(base_64_content))
  rescue ArgumentError, JSON::ParserError => e
    Rails.logger.error("Failed to decode and parse place data: #{e.message}")
    return nil
  end

  place = SpreeCmCommissioner::Place.where(reference: place_data['reference']).first_or_initialize
  place.assign_attributes(place_data)
  place
end