class Mindee::Product::US::UsMail::UsMailV3Document

US Mail API version 3.0 document data.

def initialize(prediction, page_id)

Parameters:
  • page_id (Integer, nil) --
  • prediction (Hash) --
def initialize(prediction, page_id)
  super
  @is_return_to_sender = Parsing::Standard::BooleanField.new(
    prediction['is_return_to_sender'],
    page_id
  )
  @recipient_addresses = Product::US::UsMail::UsMailV3RecipientAddresses.new(
    prediction['recipient_addresses'], page_id
  )
  @recipient_names = [] # : Array[Parsing::Standard::StringField]
  prediction['recipient_names'].each do |item|
    @recipient_names.push(Parsing::Standard::StringField.new(item, page_id))
  end
  @sender_address = Product::US::UsMail::UsMailV3SenderAddress.new(
    prediction['sender_address'],
    page_id
  )
  @sender_name = Parsing::Standard::StringField.new(
    prediction['sender_name'],
    page_id
  )
end

def recipient_addresses_separator(char)

Returns:
  • (String) -

Parameters:
  • char (String) --
def recipient_addresses_separator(char)
  out_str = String.new
  out_str << '  '
  out_str << "+#{char * 17}"
  out_str << "+#{char * 37}"
  out_str << "+#{char * 19}"
  out_str << "+#{char * 13}"
  out_str << "+#{char * 24}"
  out_str << "+#{char * 7}"
  out_str << "+#{char * 27}"
  out_str << "+#{char * 17}"
  out_str << '+'
  out_str
end

def recipient_addresses_to_s

Returns:
  • (String) -
def recipient_addresses_to_s
  return '' if @recipient_addresses.empty?
  line_items = @recipient_addresses.map(&:to_table_line).join("\n#{recipient_addresses_separator('-')}\n  ")
  out_str = String.new
  out_str << "\n#{recipient_addresses_separator('-')}"
  out_str << "\n  |"
  out_str << ' City            |'
  out_str << ' Complete Address                    |'
  out_str << ' Is Address Change |'
  out_str << ' Postal Code |'
  out_str << ' Private Mailbox Number |'
  out_str << ' State |'
  out_str << ' Street                    |'
  out_str << ' Unit            |'
  out_str << "\n#{recipient_addresses_separator('=')}"
  out_str << "\n  #{line_items}"
  out_str << "\n#{recipient_addresses_separator('-')}"
  out_str
end

def to_s

Returns:
  • (String) -
def to_s
  sender_address = @sender_address.to_s
  recipient_names = @recipient_names.join("\n #{' ' * 17}")
  recipient_addresses = recipient_addresses_to_s
  out_str = String.new
  out_str << "\n:Sender Name: #{@sender_name}".rstrip
  out_str << "\n:Sender Address:"
  out_str << sender_address
  out_str << "\n:Recipient Names: #{recipient_names}".rstrip
  out_str << "\n:Recipient Addresses:"
  out_str << recipient_addresses
  out_str << "\n:Return to Sender: #{@is_return_to_sender}".rstrip
  out_str[1..].to_s
end