class Ppl::Command::Ls
Attributes
custom_format[W]
default_format[W]
Public Instance Methods
execute(input, output)
click to toggle source
# File lib/ppl/command/ls.rb, line 19 def execute(input, output) address_book = @storage.load_address_book formatted = format_address_book(address_book, input.options) output.line(formatted) true end
options(parser, options)
click to toggle source
# File lib/ppl/command/ls.rb, line 9 def options(parser, options) parser.banner = "usage: ppl ls" parser.on("--format <format>", "specify a custom output format") do |format| options[:format] = format end parser.on("--pretty <format>", "specify a custom output format") do |pretty| options[:pretty] = pretty end end
Private Instance Methods
custom_formatting?(options)
click to toggle source
# File lib/ppl/command/ls.rb, line 36 def custom_formatting?(options) options[:pretty] || options[:format] end
format_address_book(address_book, options)
click to toggle source
# File lib/ppl/command/ls.rb, line 28 def format_address_book(address_book, options) if custom_formatting? options use_custom_format(address_book, options) else @default_format.process(address_book) end end
use_custom_format(address_book, options)
click to toggle source
# File lib/ppl/command/ls.rb, line 40 def use_custom_format(address_book, options) if !options[:pretty].nil? @custom_format.use_preset options[:pretty] elsif !options[:format].nil? @custom_format.format = options[:format] end address_book.contacts.map { |c| @custom_format.process(c) }.join("\n") end