Module: PactBroker::Client::HalClientMethods

Included in:
BaseCommand, Pacts::ListLatestVersions, PublishPacts, PublishPactsTheOldWay
Defined in:
lib/pact_broker/client/hal_client_methods.rb

Instance Method Summary collapse

Instance Method Details

#create_http_client(pact_broker_client_options) ⇒ Object



11
12
13
# File 'lib/pact_broker/client/hal_client_methods.rb', line 11

def create_http_client(pact_broker_client_options)
  PactBroker::Client::Hal::HttpClient.new(pact_broker_client_options.merge(pact_broker_client_options[:basic_auth] || {}))
end

#create_index_entry_point(pact_broker_base_url, pact_broker_client_options) ⇒ Object



7
8
9
# File 'lib/pact_broker/client/hal_client_methods.rb', line 7

def create_index_entry_point(pact_broker_base_url, pact_broker_client_options)
  PactBroker::Client::Hal::EntryPoint.new(pact_broker_base_url, create_http_client(pact_broker_client_options))
end

#index_entry_pointObject



15
16
17
# File 'lib/pact_broker/client/hal_client_methods.rb', line 15

def index_entry_point
  @index_entry_point ||= create_index_entry_point(pact_broker_base_url, pact_broker_client_options)
end

#index_resourceObject



19
20
21
# File 'lib/pact_broker/client/hal_client_methods.rb', line 19

def index_resource
  @index_resource ||= index_entry_point.get!
end

#is_pactflow?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/pact_broker/client/hal_client_methods.rb', line 23

def is_pactflow?
  index_resource.response.headers.keys.any?{ | header_name | header_name.downcase.include?("pactflow") }
end

#pact_broker_nameObject



27
28
29
# File 'lib/pact_broker/client/hal_client_methods.rb', line 27

def pact_broker_name
  is_pactflow? ? "Pactflow" : "the Pact Broker"
end