Sha256: 3996db83673051814ef6658c3c5c284462981b99235041ffb7b08d4bb1c1573e

Contents?: true

Size: 714 Bytes

Versions: 6

Compression:

Stored size: 714 Bytes

Contents

require 'table_print'

module PactBroker
  module Client
    class Versions
      class TextFormatter

        Line = Struct.new(:number, :tags)

        OPTIONS = [
          { number: {} },
          { tags: {} }
        ]

        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

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

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
pact_broker-client-1.16.1 lib/pact_broker/client/versions/text_formatter.rb
pact_broker-client-1.16.0 lib/pact_broker/client/versions/text_formatter.rb
pact_broker-client-1.15.1 lib/pact_broker/client/versions/text_formatter.rb
pact_broker-client-1.15.0 lib/pact_broker/client/versions/text_formatter.rb
pact_broker-client-1.14.1 lib/pact_broker/client/versions/text_formatter.rb
pact_broker-client-1.14.0 lib/pact_broker/client/versions/text_formatter.rb