class Mindee::Product::BillOfLading::BillOfLadingV1Document

Bill of Lading API version 1.1 document data.

def carrier_items_separator(char)

Returns:
  • (String) -

Parameters:
  • char (String) --
def carrier_items_separator(char)
  out_str = String.new
  out_str << '  '
  out_str << "+#{char * 38}"
  out_str << "+#{char * 14}"
  out_str << "+#{char * 13}"
  out_str << "+#{char * 18}"
  out_str << "+#{char * 10}"
  out_str << "+#{char * 13}"
  out_str << '+'
  out_str
end

def carrier_items_to_s

Returns:
  • (String) -
def carrier_items_to_s
  return '' if @carrier_items.empty?
  line_items = @carrier_items.map(&:to_table_line).join("\n#{carrier_items_separator('-')}\n  ")
  out_str = String.new
  out_str << "\n#{carrier_items_separator('-')}"
  out_str << "\n  |"
  out_str << ' Description                          |'
  out_str << ' Gross Weight |'
  out_str << ' Measurement |'
  out_str << ' Measurement Unit |'
  out_str << ' Quantity |'
  out_str << ' Weight Unit |'
  out_str << "\n#{carrier_items_separator('=')}"
  out_str << "\n  #{line_items}"
  out_str << "\n#{carrier_items_separator('-')}"
  out_str
end

def initialize(prediction, page_id)

Parameters:
  • page_id (Integer, nil) --
  • prediction (Hash) --
def initialize(prediction, page_id)
  super
  @bill_of_lading_number = Parsing::Standard::StringField.new(
    prediction['bill_of_lading_number'],
    page_id
  )
  @carrier = Product::BillOfLading::BillOfLadingV1Carrier.new(
    prediction['carrier'],
    page_id
  )
  @carrier_items = Product::BillOfLading::BillOfLadingV1CarrierItems.new(prediction['carrier_items'], page_id)
  @consignee = Product::BillOfLading::BillOfLadingV1Consignee.new(
    prediction['consignee'],
    page_id
  )
  @date_of_issue = Parsing::Standard::DateField.new(
    prediction['date_of_issue'],
    page_id
  )
  @departure_date = Parsing::Standard::DateField.new(
    prediction['departure_date'],
    page_id
  )
  @notify_party = Product::BillOfLading::BillOfLadingV1NotifyParty.new(
    prediction['notify_party'],
    page_id
  )
  @place_of_delivery = Parsing::Standard::StringField.new(
    prediction['place_of_delivery'],
    page_id
  )
  @port_of_discharge = Parsing::Standard::StringField.new(
    prediction['port_of_discharge'],
    page_id
  )
  @port_of_loading = Parsing::Standard::StringField.new(
    prediction['port_of_loading'],
    page_id
  )
  @shipper = Product::BillOfLading::BillOfLadingV1Shipper.new(
    prediction['shipper'],
    page_id
  )
end

def to_s

Returns:
  • (String) -
def to_s
  shipper = @shipper.to_s
  consignee = @consignee.to_s
  notify_party = @notify_party.to_s
  carrier = @carrier.to_s
  carrier_items = carrier_items_to_s
  out_str = String.new
  out_str << "\n:Bill of Lading Number: #{@bill_of_lading_number}".rstrip
  out_str << "\n:Shipper:"
  out_str << shipper
  out_str << "\n:Consignee:"
  out_str << consignee
  out_str << "\n:Notify Party:"
  out_str << notify_party
  out_str << "\n:Carrier:"
  out_str << carrier
  out_str << "\n:Items:"
  out_str << carrier_items
  out_str << "\n:Port of Loading: #{@port_of_loading}".rstrip
  out_str << "\n:Port of Discharge: #{@port_of_discharge}".rstrip
  out_str << "\n:Place of Delivery: #{@place_of_delivery}".rstrip
  out_str << "\n:Date of issue: #{@date_of_issue}".rstrip
  out_str << "\n:Departure Date: #{@departure_date}".rstrip
  out_str[1..].to_s
end