Sha256: 79af52bea102606ff94f73d033ee895f72e8b73ab8da77b438fa30cdf759d482

Contents?: true

Size: 1.94 KB

Versions: 47

Compression:

Stored size: 1.94 KB

Contents

module PactBroker
  module UI
    module Helpers
      module MatrixHelper

        extend self

        # rubocop: disable Metrics/CyclomaticComplexity
        def create_selector_objects(selector_hashes)
          selector_hashes.collect do | selector_hash |
            o = OpenStruct.new(selector_hash)
            o.specify_latest_tag = (o.tag && o.latest) ? "checked" : nil
            o.specify_latest_branch = (o.branch && o.latest) ? "checked" : nil
            o.specify_all_branch = (o.branch && !o.latest) ? "checked" : nil
            o.specify_environment = o.environment_name ? "checked" : nil
            o.specify_all_tagged = (o.tag && !o.latest) ? "checked" : nil
            o.specify_latest = o.latest ? "checked" : nil
            o.specify_version = o.pacticipant_version_number ? "checked" : nil
            o.specify_all_versions = !(o.tag || o.pacticipant_version_number || o.branch) ? "checked" : nil
            o
          end
        end

        def create_options_model(options)
          o = OpenStruct.new(options)
          o.cvpv_checked = o.latestby == "cvpv" ? "checked" : nil
          o.cvp_checked = o.latestby == "cvp" ? "checked" : nil
          o.all_rows_checked = o.latestby.nil? ? "checked" : nil
          o
        end

        def matrix_badge_url(selectors, lines, base_url)
          if lines.any? && selectors.size == 2 && selectors.all?{ | selector| selector.latest_for_pacticipant_and_tag? }
            consumer_selector = selectors.find{ | selector| selector.pacticipant_name == lines.first.consumer_name }
            provider_selector = selectors.find{ | selector| selector.pacticipant_name == lines.first.provider_name }
            if consumer_selector && provider_selector
              PactBroker::Api::PactBrokerUrls.matrix_badge_url_for_selectors(consumer_selector, provider_selector, base_url)
            end
          end
        end
        # rubocop: enable Metrics/CyclomaticComplexity
      end
    end
  end
end

Version data entries

47 entries across 47 versions & 1 rubygems

Version Path
pact_broker-2.114.0 lib/pact_broker/ui/helpers/matrix_helper.rb
pact_broker-2.113.2 lib/pact_broker/ui/helpers/matrix_helper.rb
pact_broker-2.113.1 lib/pact_broker/ui/helpers/matrix_helper.rb
pact_broker-2.113.0 lib/pact_broker/ui/helpers/matrix_helper.rb
pact_broker-2.112.0 lib/pact_broker/ui/helpers/matrix_helper.rb
pact_broker-2.111.0 lib/pact_broker/ui/helpers/matrix_helper.rb
pact_broker-2.109.1 lib/pact_broker/ui/helpers/matrix_helper.rb
pact_broker-2.109.0 lib/pact_broker/ui/helpers/matrix_helper.rb
pact_broker-2.108.0 lib/pact_broker/ui/helpers/matrix_helper.rb
pact_broker-2.107.1 lib/pact_broker/ui/helpers/matrix_helper.rb
pact_broker-2.107.0 lib/pact_broker/ui/helpers/matrix_helper.rb
pact_broker-2.107.0.beta.1 lib/pact_broker/ui/helpers/matrix_helper.rb
pact_broker-2.106.0 lib/pact_broker/ui/helpers/matrix_helper.rb
pact_broker-2.105.0 lib/pact_broker/ui/helpers/matrix_helper.rb
pact_broker-2.104.0 lib/pact_broker/ui/helpers/matrix_helper.rb
pact_broker-2.103.0 lib/pact_broker/ui/helpers/matrix_helper.rb
pact_broker-2.102.2 lib/pact_broker/ui/helpers/matrix_helper.rb
pact_broker-2.102.1 lib/pact_broker/ui/helpers/matrix_helper.rb
pact_broker-2.102.0 lib/pact_broker/ui/helpers/matrix_helper.rb
pact_broker-2.101.0 lib/pact_broker/ui/helpers/matrix_helper.rb