Module: NinjaOne

Extended by:
WrAPI::Configuration, WrAPI::RespondTo
Defined in:
lib/ninjaone.rb,
lib/ninjaone/api.rb,
lib/ninjaone/error.rb,
lib/ninjaone/client.rb,
lib/ninjaone/version.rb,
lib/ninjaone/client/users.rb,
lib/ninjaone/client/backup.rb,
lib/ninjaone/client/system.rb,
lib/ninjaone/authentication.rb,
lib/ninjaone/client/devices.rb,
lib/ninjaone/client/queries.rb,
lib/ninjaone/cursor_pagination.rb,
lib/ninjaone/client/organizations.rb

Overview

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

Defined Under Namespace

Modules: Authentication, RequestPagination Classes: API, AuthenticationError, Client, ConfigurationError, NinjaOneError

Constant Summary collapse

DEFAULT_UA =

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

"NinjaOne Ruby API wrapper #{NinjaOne::VERSION}"
DEFAULT_PAGINATION =
RequestPagination::CursorPagination
VERSION =
'0.3.0'

Class Method Summary collapse

Class Method Details

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

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

Examples:

Create a NinjaOne client:

client = NinjaOne.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 NinjaOne API (default: DEFAULT_ENDPOINT).

  • :user_agent (String)

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

Returns:



33
34
35
36
37
38
# File 'lib/ninjaone.rb', line 33

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

.resetObject

Resets the NinjaOne 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 NinjaOne configuration:

NinjaOne.reset


49
50
51
52
53
# File 'lib/ninjaone.rb', line 49

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