class PactBroker::Client::Pacticipants2::TextFormatter
Public Class Methods
call(pacticipants)
click to toggle source
# File lib/pact_broker/client/pacticipants/text_formatter.rb, line 8 def self.call(pacticipants) return "" if pacticipants.size == 0 data = pacticipants.collect do | pacticipant | # Might add a UUID in at some stage. Backwards compatible supporting code. OpenStruct.new({ uuid: "" }.merge(pacticipant).merge(url: pacticipant["_links"]["self"]["href"])) end.sort_by{ | pacticipant | pacticipant.name.downcase } TablePrint::Printer.new(data, tp_options(data)).table_print end
max_width(data, column, title)
click to toggle source
# File lib/pact_broker/client/pacticipants/text_formatter.rb, line 35 def self.max_width(data, column, title) (data.collect{ |row| row.send(column) } + [title]).compact.collect(&:size).max end
tp_options(data)
click to toggle source
# File lib/pact_broker/client/pacticipants/text_formatter.rb, line 19 def self.tp_options(data) uuid_width = max_width(data, :uuid, "") name_width = max_width(data, :name, "NAME") display_name_width = max_width(data, :displayName, "DISPLAY NAME") tp_options = [ { name: { width: name_width} }, { displayName: { display_name: "Display name", width: display_name_width } }, ] if uuid_width > 0 tp_options.unshift({ uuid: { width: uuid_width } }) end tp_options end