class HermesAPI::DropOffReturnLabel
Constants
- DEFAULT_ATTRS
Public Instance Methods
request_print_in_store_qr_code(**attrs)
click to toggle source
# File lib/hermes_api/resources/drop_off_return_label.rb, line 87 def request_print_in_store_qr_code(**attrs) if missing_required_qr_code_attributes?(attrs) raise ArgumentError, request_print_in_store_qr_code_error_message end return nil if attributes["routing_response_entries"].blank? entries = routing_response_entries.routing_response_entry entry = entries.is_a?(Array) ? entries[0] : entries carrier = entry.inbound_carriers.carrier1 barcode = carrier.barcode1 customer = collection_routing_request_entries[0].customer address = customer.address self.print_in_store_qr_code = PrintInStoreQrCode.create( customer: { customer_reference1: customer.customer_reference1 }, label_type: "RETURN", barcode: { barcode: barcode.barcode_number, barcode_display: barcode.barcode_display }, client: { client_id: client_id, client_name: client_name }, routing: { delivery_method: { delivery_method_id: carrier.delivery_method_code, delivery_method_description: carrier.delivery_method_desc }, sort_levels: { sort_level1: carrier.sort_level1.strip, sort_level2: carrier.sort_level2 } }, service_offers: [], **attrs ) end
Private Instance Methods
missing_required_qr_code_attributes?(attrs)
click to toggle source
# File lib/hermes_api/resources/drop_off_return_label.rb, line 131 def missing_required_qr_code_attributes?(attrs) ([:dimensions, :value, :delivery_address] - attrs.keys).length > 0 end
request_print_in_store_qr_code_error_message()
click to toggle source
# File lib/hermes_api/resources/drop_off_return_label.rb, line 135 def request_print_in_store_qr_code_error_message <<~ERR_MESSAGE Missing required attributes Example: label = HermesAPI::DropOffReturnLabel.new(...) if label.save label.request_print_in_store_qr_code( dimensions: { depth: 15, length: 20, width: 15, weight: 1 }, value: { currency: 'GBP', amount: 10 }, delivery_address: { name: 'Don Joe', address_line1: 'Real Logic', address_line2: '4-4 Ridings Park, Eastern Way', country_code: 'GB', postcode: 'WS117FJ' } ) end ERR_MESSAGE end