Sha256: ac341635cd98c1eb521a398a49e2498ec6e1ff967e3b1528c4bcdee70951b35b

Contents?: true

Size: 1.32 KB

Versions: 21

Compression:

Stored size: 1.32 KB

Contents

require 'ostruct'
require 'pact_broker/api/pact_broker_urls'

module PactBroker
  module Api
    module Decorators
      class DashboardTextDecorator
        include PactBroker::Api::PactBrokerUrls

        Line = Struct.new(:consumer_name, :c_version, :c_tags , :provider_name, :p_version, :p_tags, :success)

        def initialize(index_items)
          @index_items = index_items
        end

        def to_json(options)
          to_hash(options).to_json
        end

        def to_text(options)
          data = items(index_items, options[:user_options][:base_url])
          printer = TablePrint::Printer.new(data)
          printer.table_print + "\n"
        end

        private

        attr_reader :index_items

        def items(index_items, base_url)
          index_items.collect do | index_item |
            index_item_object(index_item)
          end
        end

        def index_item_object(index_item)
          Line.new(
            index_item.consumer_name,
            index_item.consumer_version_number,
            index_item.tag_names.sort.join(", "),
            index_item.provider_name,
            index_item.provider_version_number,
            index_item.latest_verification_latest_tags.collect(&:name).sort.join(", "),
            index_item.verification_status.to_s
          )
        end
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
pact_broker-2.38.1 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.38.0 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.37.0 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.36.1 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.36.0 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.35.0 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.34.0 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.33.0 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.32.0 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.31.0 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.30.0 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.29.0 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.27.6 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.27.5 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.27.4 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.27.3 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.27.2 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.27.0 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.26.1 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.26.0 lib/pact_broker/api/decorators/dashboard_text_decorator.rb