class Xapixctl::PhoenixClient::Connection
Constants
- DEFAULT_CLIENT_OPTS
Attributes
client[R]
xapix_url[R]
Public Class Methods
new(url, token, default_success_handler, default_error_handler, logging)
click to toggle source
# File lib/xapixctl/phoenix_client/connection.rb, line 10 def initialize(url, token, default_success_handler, default_error_handler, logging) @xapix_url = url client_opts = DEFAULT_CLIENT_OPTS.deep_merge(headers: { Authorization: "Bearer #{token}" }) client_opts.merge!(log: RestClient.create_log(logging)) if logging @client = RestClient::Resource.new(File.join(url, 'api/v1'), client_opts) @default_success_handler = default_success_handler @default_error_handler = default_error_handler end
Public Instance Methods
available_resource_types(&block)
click to toggle source
# File lib/xapixctl/phoenix_client/connection.rb, line 23 def available_resource_types(&block) @available_resource_types ||= begin result_handler(block). prepare_data(->(data) { data['resource_types'].freeze }). run { @client[resource_types_path].get } end end
on_error(&block)
click to toggle source
# File lib/xapixctl/phoenix_client/connection.rb, line 21 def on_error(&block); @default_error_handler = block; self; end
on_success(&block)
click to toggle source
# File lib/xapixctl/phoenix_client/connection.rb, line 19 def on_success(&block); @default_success_handler = block; self; end
organization(org)
click to toggle source
# File lib/xapixctl/phoenix_client/connection.rb, line 31 def organization(org) OrganizationConnection.new(self, org) end
project(org:, project:)
click to toggle source
# File lib/xapixctl/phoenix_client/connection.rb, line 35 def project(org:, project:) ProjectConnection.new(self, org, project) end
result_handler(block)
click to toggle source
# File lib/xapixctl/phoenix_client/connection.rb, line 39 def result_handler(block) ResultHandler.new(default_success_handler: @default_success_handler, default_error_handler: @default_error_handler, &block) end
Private Instance Methods
resource_types_path()
click to toggle source
# File lib/xapixctl/phoenix_client/connection.rb, line 45 def resource_types_path "/resource_types" end