Sha256: 786e4578640a1250a1a56060b4794fe8eb5c5528a55c4ec35fbbe4e36619e7c2

Contents?: true

Size: 610 Bytes

Versions: 9

Compression:

Stored size: 610 Bytes

Contents

require 'reform'
require 'reform/contract'
require 'net/http'

module PactBroker
  module Api
    module Contracts

      module RequestValidations
        def method_is_valid
          http_method && !valid_method?
        end

        def valid_method?
          Net::HTTP.const_defined?(http_method.capitalize)
        end

        def url_is_valid
          url && !url_valid?
        end

        def url_valid?
          uri && uri.scheme && uri.host
        end

        def uri
          URI(url)
        rescue URI::InvalidURIError, ArgumentError
          nil
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
pact_broker-2.30.0 lib/pact_broker/api/contracts/request_validations.rb
pact_broker-2.29.0 lib/pact_broker/api/contracts/request_validations.rb
pact_broker-2.27.6 lib/pact_broker/api/contracts/request_validations.rb
pact_broker-2.27.5 lib/pact_broker/api/contracts/request_validations.rb
pact_broker-2.27.4 lib/pact_broker/api/contracts/request_validations.rb
pact_broker-2.27.3 lib/pact_broker/api/contracts/request_validations.rb
pact_broker-2.27.2 lib/pact_broker/api/contracts/request_validations.rb
pact_broker-2.27.0 lib/pact_broker/api/contracts/request_validations.rb
pact_broker-2.26.1 lib/pact_broker/api/contracts/request_validations.rb