class Deliveries::Couriers::MondialRelay::Pickups::Create::FormatParams

Attributes

language[RW]
parcels[RW]
pickup_date[RW]
receiver[RW]
reference_code[RW]
remarks[RW]
sender[RW]

Public Class Methods

new(sender:, receiver:, parcels:, reference_code:, pickup_date:, remarks:, language:) click to toggle source
# File lib/deliveries/couriers/mondial_relay/pickups/create/format_params.rb, line 9
def initialize(sender:, receiver:, parcels:, reference_code:, pickup_date:, remarks:, language:)
  self.sender = sender
  self.receiver = receiver
  self.parcels = parcels
  self.reference_code = reference_code
  self.pickup_date = pickup_date
  self.remarks = remarks
  self.language = language
end

Public Instance Methods

execute() click to toggle source
# File lib/deliveries/couriers/mondial_relay/pickups/create/format_params.rb, line 19
def execute
  params = {
    'Enseigne' => Deliveries::Couriers::MondialRelay.config(:mondial_relay_merchant),
    'ModeCol' => 'REL',
    'ModeLiv' => 'LCC',
    'COL_Rel_Pays' => 'XX',
    'COL_Rel' => 'AUTO',
    'NDossier' => reference_code,
    'Expe_Langage' => language.to_s.upcase,
    'Expe_Ad1' => sender.name,
    'Expe_Ad3' => sender.street,
    'Expe_Ville' => sender.city,
    'Expe_CP' => sender.postcode,
    'Expe_Pays' => sender.country,
    'Expe_Tel1' => sender.phone,
    'Expe_Mail' => sender.email,
    'Dest_Langage' => language.to_s.upcase,
    'Dest_Ad1' => receiver.name,
    'Dest_Ad3' => receiver.street,
    'Dest_Ville' => receiver.city,
    'Dest_CP' => receiver.postcode,
    'Dest_Pays' => receiver.country,
    'Dest_Tel1' => receiver.phone,
    'Dest_Mail' => receiver.email,
    'NbColis' => parcels,
    'Instructions' => I18n.transliterate(remarks.to_s).gsub(%r{[^0-9A-Z_\-'., /]}i, '').upcase.truncate(30,
                                                                                                        omission: '')
  }

  defaults = Shipments::Create::Defaults::PARAMS

  defaults.merge(params)
end