class NetboxClientRuby::Connection

Constants

DEFAULT_OPTIONS

Public Class Methods

auth_config() click to toggle source
# File lib/netbox_client_ruby/connection.rb, line 24
def self.auth_config
  netbox_config.auth
end
headers() click to toggle source
# File lib/netbox_client_ruby/connection.rb, line 16
def self.headers
  headers = {}
  auth_token = auth_config.token
  headers['Authorization'] = "Token #{auth_token}".freeze if auth_token
  headers['X-Session-Key'] = NetboxClientRuby::Secrets.session_key if NetboxClientRuby::Secrets.session_key
  headers
end
netbox_config() click to toggle source
# File lib/netbox_client_ruby/connection.rb, line 28
def self.netbox_config
  NetboxClientRuby.config.netbox
end
new(options = {}) click to toggle source
# File lib/netbox_client_ruby/connection.rb, line 12
def self.new(options = {})
  build_faraday(**DEFAULT_OPTIONS.merge(options))
end

Private Class Methods

build_faraday(request_encoding: :json) click to toggle source
# File lib/netbox_client_ruby/connection.rb, line 32
                     def self.build_faraday(request_encoding: :json)
  config = NetboxClientRuby.config
  Faraday.new(url: config.netbox.api_base_url, headers: headers) do |faraday|
    faraday.request request_encoding
    faraday.response config.faraday.logger if config.faraday.logger
    faraday.response :json, content_type: /\bjson$/
    faraday.options.merge NetboxClientRuby.config.faraday.request_options
    faraday.options.params_encoder = Faraday::FlatParamsEncoder
    faraday.adapter config.faraday.adapter || Faraday.default_adapter
  end
end