Sha256: 7c0c3bbda5b61d2f4c9ca770d8c9a0948ea6753d1dcb73178a4b84741ab26671

Contents?: true

Size: 1.22 KB

Versions: 7

Compression:

Stored size: 1.22 KB

Contents

require 'pact_broker/client/base_client'

module PactBroker
  module Client
    class Notice < Hash
      def initialize(hash)
        self.merge!(hash)
      end

      def text
        self[:text]
      end

      def type
        self[:type]
      end
    end
    class Matrix < BaseClient

      class Resource < Hash
        def initialize hash
          self.merge!(hash)
        end

        def any_unknown?
          if supports_unknown_count?
            unknown_count > 0
          else
            false
          end
        end

        def supports_unknown_count?
          !!(self[:summary] && Integer === self[:summary][:unknown] )
        end

        def supports_ignore?
          !!(self[:summary] && Integer === self[:summary][:ignored] )
        end

        def unknown_count
          supports_unknown_count? ? self[:summary][:unknown] : nil
        end

        def reason
          self[:summary][:reason]
        end

        def deployable?
          self[:summary][:deployable]
        end

        def notices
          if self[:notices].is_a?(Array)
            self[:notices].collect { | notice_hash | Notice.new(notice_hash) }
          else
            nil
          end
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
pact_broker-client-1.47.0 lib/pact_broker/client/matrix/resource.rb
pact_broker-client-1.46.0 lib/pact_broker/client/matrix/resource.rb
pact_broker-client-1.45.0 lib/pact_broker/client/matrix/resource.rb
pact_broker-client-1.44.0 lib/pact_broker/client/matrix/resource.rb
pact_broker-client-1.43.0 lib/pact_broker/client/matrix/resource.rb
pact_broker-client-1.42.0 lib/pact_broker/client/matrix/resource.rb
pact_broker-client-1.41.0 lib/pact_broker/client/matrix/resource.rb