Sha256: 1d06b7fd58692516b3019dd76f431d1ef0069cf11dd09a86e574bc70062f9451

Contents?: true

Size: 696 Bytes

Versions: 5

Compression:

Stored size: 696 Bytes

Contents

class Ppl::Format::Contact::PhoneNumber < Ppl::Format::Contact

  attr_writer :table

  def initialize(colors={})
    @table = Ppl::Format::Table.new([:star, :phone_numbers, :type], colors)
  end

  def process(contact)
    contact.phone_numbers.each { |pn| add_row(pn) }
    @table.to_s
  end

  private

  def add_row(phone_number)
    @table.add_row({
      :star          => format_star(phone_number),
      :phone_numbers => phone_number.number,
      :type          => format_type(phone_number.type),
    })
  end

  def format_star(phone_number)
    phone_number.preferred ? "*" : " "
  end

  def format_type(type)
    unless type.nil? || type == ""
      "(#{type})"
    end
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ppl-4.0.5 lib/ppl/format/contact/phone_number.rb
ppl-4.0.3 lib/ppl/format/contact/phone_number.rb
ppl-4.0.2 lib/ppl/format/contact/phone_number.rb
ppl-4.0.1 lib/ppl/format/contact/phone_number.rb
ppl-4.0.0 lib/ppl/format/contact/phone_number.rb