Sha256: e9e2e770c41cd8428ed6e2c6eb556759193486dfc599115cb87732c453e346e9
Contents?: true
Size: 1.11 KB
Versions: 11
Compression:
Stored size: 1.11 KB
Contents
require 'table_print' module PactBroker module Client class Matrix class TextFormatter Line = Struct.new(:consumer, :consumer_version, :provider, :provider_version, :success) OPTIONS = [ { consumer: {} }, { consumer_version: {display_name: 'C.VERSION'} }, { provider: {} }, { provider_version: {display_name: 'P.VERSION'} }, { success: {display_name: 'SUCCESS?'} } ] def self.call(matrix) data = matrix[:matrix].collect do | line | Line.new( lookup(line, :consumer, :name), lookup(line, :consumer, :version, :number), lookup(line, :provider, :name), lookup(line, :provider, :version, :number), lookup(line, :verificationResult, :success).to_s ) end printer = TablePrint::Printer.new(data, OPTIONS) printer.table_print end def self.lookup line, *keys keys.reduce(line) { | line, key | line[key] } rescue NoMethodError "???" end end end end end
Version data entries
11 entries across 11 versions & 1 rubygems