Sha256: 887db7336a6967672cb48d28070c5ebe98c919dc09b401868b4123d0bf0eae88

Contents?: true

Size: 1.34 KB

Versions: 57

Compression:

Stored size: 1.34 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.pseudo_branch_verification_status.to_s
          )
        end
      end
    end
  end
end

Version data entries

57 entries across 57 versions & 1 rubygems

Version Path
pact_broker-2.79.1 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.79.0 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.78.1 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.78.0 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.77.0 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.76.2 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.76.1 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.76.0 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.75.0 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.74.1 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.74.0 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.73.0 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.72.0 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.71.0 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.70.0 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.69.0 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.68.1 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.68.0 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.67.0 lib/pact_broker/api/decorators/dashboard_text_decorator.rb
pact_broker-2.66.0 lib/pact_broker/api/decorators/dashboard_text_decorator.rb