Class: PactBroker::Client::Versions::TextFormatter

Inherits:
Object
  • Object
show all
Defined in:
lib/pact_broker/client/versions/text_formatter.rb

Defined Under Namespace

Classes: Line

Constant Summary collapse

OPTIONS =
[
  { number: {:width => 40} },
  { tags: {} }
]

Class Method Summary collapse

Class Method Details

.call(version_hash) ⇒ Object



17
18
19
20
21
22
23
# File 'lib/pact_broker/client/versions/text_formatter.rb', line 17

def self.call(version_hash)
  tags = (lookup(version_hash, [], :_embedded, :tags) || []).collect{ | t| t[:name] }.join(" ")
  data = Line.new(version_hash[:number], tags)

  printer = TablePrint::Printer.new([data], OPTIONS)
  printer.table_print
end

.lookup(line, default, *keys) ⇒ Object



25
26
27
28
29
# File 'lib/pact_broker/client/versions/text_formatter.rb', line 25

def self.lookup line, default, *keys
  keys.reduce(line) { | line, key | line[key] }
rescue NoMethodError
  default
end