Module: Skykick

Extended by:
WrAPI::Configuration, WrAPI::RespondTo
Defined in:
lib/skykick.rb,
lib/skykick/api.rb,
lib/skykick/error.rb,
lib/skykick/client.rb,
lib/skykick/version.rb,
lib/skykick/connection.rb,
lib/skykick/pagination.rb,
lib/skykick/client/alerts.rb,
lib/skykick/client/backup.rb,
lib/skykick/authentication.rb

Overview

The ‘Skykick` module is a wrapper around Skykick’s API. It provides a client configuration, including default settings like endpoint URL, user agent, and pagination handling. This module extends ‘WrAPI::Configuration` to provide configuration options and `WrAPI::RespondTo` for dynamic response handling.

Defined Under Namespace

Modules: Authentication, Connection, RequestPagination Classes: API, AuthenticationError, Client, ConfigurationError, SkykickError

Constant Summary collapse

DEFAULT_ENDPOINT =

Default API endpoint for the Skykick service.

'https://apis.cloudservices.connectwise.com'
DEFAULT_UA =

Default User-Agent header sent with API requests, including gem version information.

"Skykick Ruby API wrapper #{Skykick::VERSION}"
DEFAULT_PAGINATION =

Default pagination class used for handling paginated API responses.

Skykick::RequestPagination::ODataPagination
VERSION =
'0.3.0'

Class Method Summary collapse

Class Method Details

.client(options = {}) ⇒ Skykick::Client

Creates and returns a new Skykick API client with the given options.

Examples:

Create a Skykick client:

client = Skykick.client(endpoint: "https://api.custom-endpoint.com", user_agent: "Custom UA/1.0")

Parameters:

  • options (Hash) (defaults to: {})

    A hash of configuration options to initialize the client. This method merges the provided options with default values such as endpoint, user agent, and pagination class.

Options Hash (options):

  • :endpoint (String)

    The base URL for the Skykick API (default: ‘DEFAULT_ENDPOINT`).

  • :user_agent (String)

    The User-Agent header to send with each API request (default: ‘DEFAULT_UA`).

  • :pagination_class (Class)

    The pagination class to handle paginated responses (default: ‘DEFAULT_PAGINATION`).

Returns:



39
40
41
42
43
44
45
# File 'lib/skykick.rb', line 39

def self.client(options = {})
  Skykick::Client.new({
    endpoint: DEFAULT_ENDPOINT,
    user_agent: DEFAULT_UA,
    pagination_class: DEFAULT_PAGINATION
  }.merge(options))
end

.resetObject

Resets the Skykick configuration to default values.

This method resets the configuration values to their defaults:

  • ‘DEFAULT_ENDPOINT` for the API endpoint

  • ‘DEFAULT_UA` for the User-Agent

  • ‘DEFAULT_PAGINATION` for the pagination handling class

Examples:

Reset the Skykick configuration:

Skykick.reset


56
57
58
59
60
61
# File 'lib/skykick.rb', line 56

def self.reset
  super
  self.endpoint = DEFAULT_ENDPOINT
  self.user_agent = DEFAULT_UA
  self.pagination_class = DEFAULT_PAGINATION
end