Sha256: c73003de139e473ab08fdc93a79ec3ec8baa34613f091576e940c4baf2beffa6
Contents?: true
Size: 934 Bytes
Versions: 7
Compression:
Stored size: 934 Bytes
Contents
class Ppl::Format::AddressBook::PostalAddresses < Ppl::Format::AddressBook attr_writer :table def initialize @table = Ppl::Format::Table.new([:id, :postal_address]) end def process(address_book) address_book.contacts.each { |contact| add_row(contact) } @table.to_s end private def add_row(contact) postal_address = nil if !contact.postal_address.nil? postal_address = format_postal_address(contact.postal_address) end @table.add_row({ :id => sprintf("%s:", contact.id), :postal_address => postal_address, }) end def format_postal_address(postal_address) pieces = [ postal_address.street, postal_address.locality, postal_address.region, postal_address.country, postal_address.postal_code, postal_address.po_box, ].select { |property| property != "" && !property.nil? } pieces.join(", ") end end
Version data entries
7 entries across 7 versions & 1 rubygems