Sha256: 7a462b0a60fe3ff7a41ec04c0b21b71a0cbc45528760b481d695b61e3d5815a5

Contents?: true

Size: 1013 Bytes

Versions: 8

Compression:

Stored size: 1013 Bytes

Contents

require "ostruct"
require "pact_broker/api/pact_broker_urls"
require "pact_broker/api/decorators/matrix_decorator"

require "table_print"

module PactBroker
  module Api
    module Decorators
      class MatrixTextDecorator
        Line = Struct.new(:consumer, :c_version, :revision, :provider, :p_version, :number, :success)

        def initialize(lines)
          @lines = lines
        end

        def to_text(**_options)
          json_decorator = PactBroker::Api::Decorators::MatrixDecorator.new(lines)
          data = lines.collect do | line |
            Line.new(line.consumer_name, line.consumer_version_number, line.pact_revision_number, line.provider_name, line.provider_version_number, line.verification_number, line.success)
          end
          printer = TablePrint::Printer.new(data)
          printer.table_print + "\n\nDeployable: #{json_decorator.deployable.inspect}\nReason: #{json_decorator.reason}\n"
        end

        private

        attr_reader :lines
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
pact_broker-2.112.0 lib/pact_broker/api/decorators/matrix_text_decorator.rb
pact_broker-2.111.0 lib/pact_broker/api/decorators/matrix_text_decorator.rb
pact_broker-2.109.1 lib/pact_broker/api/decorators/matrix_text_decorator.rb
pact_broker-2.109.0 lib/pact_broker/api/decorators/matrix_text_decorator.rb
pact_broker-2.108.0 lib/pact_broker/api/decorators/matrix_text_decorator.rb
pact_broker-2.107.1 lib/pact_broker/api/decorators/matrix_text_decorator.rb
pact_broker-2.107.0 lib/pact_broker/api/decorators/matrix_text_decorator.rb
pact_broker-2.107.0.beta.1 lib/pact_broker/api/decorators/matrix_text_decorator.rb