Module: Boldsign

Defined in:
lib/boldsign.rb,
lib/boldsign/error.rb,
lib/boldsign/client.rb,
lib/boldsign/version.rb,
lib/boldsign/resource.rb,
lib/boldsign/resources/plan.rb,
lib/boldsign/resources/team.rb,
lib/boldsign/resources/user.rb,
lib/boldsign/resources/brand.rb,
lib/boldsign/resources/contact.rb,
lib/boldsign/resources/document.rb,
lib/boldsign/resources/template.rb,
lib/boldsign/resources/custom_field.rb,
lib/boldsign/resources/contact_group.rb,
lib/boldsign/resources/sender_identity.rb,
lib/boldsign/resources/identity_verification.rb

Overview

Top-level namespace for the BoldSign Ruby client.

Configure once at boot and access a shared Client via Boldsign.client, or instantiate Client directly when you need multiple credentials/regions.

Examples:

Configure and use the shared client

Boldsign.configure do |c|
  c.api_key = ENV["BOLDSIGN_API_KEY"]
  c.region  = :us
end
Boldsign.client.documents.list

Defined Under Namespace

Modules: Resources Classes: AuthenticationError, BadRequestError, Client, ConfigurationError, Error, ForbiddenError, NotFoundError, RateLimitError, Resource, ServerError, UnprocessableEntityError

Constant Summary collapse

REGIONS =

Region → base URL map for BoldSign's regional API hosts.

{
  us: "https://api.boldsign.com",
  eu: "https://api-eu.boldsign.com",
  ca: "https://api-ca.boldsign.com",
  au: "https://api-au.boldsign.com"
}.freeze
ERROR_MAP =

Maps HTTP status codes to Error subclasses.

{
  400 => BadRequestError,
  401 => AuthenticationError,
  403 => ForbiddenError,
  404 => NotFoundError,
  422 => UnprocessableEntityError,
  429 => RateLimitError
}.freeze
VERSION =
"0.1.0"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.api_key ⇒ String?

Returns API key used by the shared client.

Returns:

  • (String, nil) —

    API key used by the shared client.



43
44
45
# File 'lib/boldsign.rb', line 43

def api_key
  @api_key
end

.base_url ⇒ String?

Returns Optional explicit base URL override (takes precedence over region).

Returns:

  • (String, nil) —

    Optional explicit base URL override (takes precedence over region).



49
50
51
# File 'lib/boldsign.rb', line 49

def base_url
  @base_url
end

.region ⇒ Symbol?

Returns Region key (:us, :eu, :ca, :au).

Returns:

  • (Symbol, nil) —

    Region key (:us, :eu, :ca, :au).



46
47
48
# File 'lib/boldsign.rb', line 46

def region
  @region
end

Class Method Details

.client ⇒ Client

Returns memoized shared client built from module-level config.

Returns:

  • (Client) —

    memoized shared client built from module-level config.



59
60
61
# File 'lib/boldsign.rb', line 59

def client
  @client ||= Client.new(api_key: api_key, region: region, base_url: base_url)
end

.configure {|config| ... } ⇒ void

This method returns an undefined value.

Yields self for block-style configuration.

Yield Parameters:

  • config (Boldsign) —

    the module itself



54
55
56
# File 'lib/boldsign.rb', line 54

def configure
  yield self
end

.reset! ⇒ void

This method returns an undefined value.

Clears the memoized shared client so the next call to client rebuilds it.



65
66
67
# File 'lib/boldsign.rb', line 65

def reset!
  @client = nil
end