Module: Clicksign

Defined in:
lib/clicksign.rb,
lib/clicksign/client.rb,
lib/clicksign/errors.rb,
lib/clicksign/version.rb,
lib/clicksign/webhook.rb,
lib/clicksign/resource.rb,
lib/clicksign/services.rb,
lib/clicksign/configuration.rb,
lib/clicksign/error_handler.rb,
lib/clicksign/resources/user.rb,
lib/clicksign/instrumentation.rb,
lib/clicksign/json_api/parser.rb,
lib/clicksign/resources/group.rb,
lib/clicksign/resources/folder.rb,
lib/clicksign/resources/webhook.rb,
lib/clicksign/resources/template.rb,
lib/clicksign/json_api/operations.rb,
lib/clicksign/json_api/serializer.rb,
lib/clicksign/resources/membership.rb,
lib/clicksign/json_api/query_builder.rb,
lib/clicksign/resources/notarial/event.rb,
lib/clicksign/resources/template_field.rb,
lib/clicksign/resources/notarial/signer.rb,
lib/clicksign/resources/notarial/document.rb,
lib/clicksign/resources/notarial/envelope.rb,
lib/clicksign/resources/access_control_list.rb,
lib/clicksign/resources/auto_signature/term.rb,
lib/clicksign/json_api/atomic_results_parser.rb,
lib/clicksign/resources/notarial/requirement.rb,
lib/clicksign/json_api/bulk_operations_client.rb,
lib/clicksign/resources/envelope_bulk_creation.rb,
lib/clicksign/resources/acceptance_term/whatsapp.rb,
lib/clicksign/resources/notarial/bulk_requirement.rb,
lib/clicksign/json_api/operations/bulk_requirement.rb,
lib/clicksign/resources/notarial/signature_watcher.rb

Defined Under Namespace

Modules: ErrorHandler, Instrumentation, JsonApi, Resources, Webhook Classes: AuthenticationError, Client, Configuration, ConflictError, Error, NotFoundError, RateLimitError, Resource, ServerError, Services, TimeoutError, ValidationError, WebhookSignatureError

Constant Summary collapse

VERSION =
File.read(File.expand_path('../../REVISION', __dir__)).strip

Class Method Summary collapse

Class Method Details

.bulk_operations_clientObject



52
53
54
55
56
57
58
59
60
61
# File 'lib/clicksign.rb', line 52

def bulk_operations_client
  @bulk_operations_client ||= JsonApi::BulkOperationsClient.new(
    api_key: configuration.api_key,
    base_url: configuration.base_url,
    open_timeout: configuration.open_timeout,
    read_timeout: configuration.read_timeout,
    write_timeout: configuration.write_timeout,
    max_retries: configuration.max_retries,
  )
end

.clientObject



41
42
43
44
45
46
47
48
49
50
# File 'lib/clicksign.rb', line 41

def client
  @client ||= Client.new(
    api_key: configuration.api_key,
    base_url: configuration.base_url,
    open_timeout: configuration.open_timeout,
    read_timeout: configuration.read_timeout,
    write_timeout: configuration.write_timeout,
    max_retries: configuration.max_retries,
  )
end

.configurationObject



37
38
39
# File 'lib/clicksign.rb', line 37

def configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Must be called once at application startup, before any threads are spawned. Module-level memoisation (@client, @configuration) is not thread-safe for concurrent first-access; subsequent calls are safe once initialised.

Yields:



33
34
35
# File 'lib/clicksign.rb', line 33

def configure
  yield configuration
end

.on_error(&block) ⇒ Object



65
# File 'lib/clicksign.rb', line 65

def on_error(&block)   = Instrumentation.on(:error, &block)

.on_request(&block) ⇒ Object



63
# File 'lib/clicksign.rb', line 63

def on_request(&block) = Instrumentation.on(:request, &block)

.on_retry(&block) ⇒ Object



64
# File 'lib/clicksign.rb', line 64

def on_retry(&block)   = Instrumentation.on(:retry, &block)

.reset!Object



67
68
69
70
71
# File 'lib/clicksign.rb', line 67

def reset!
  @configuration          = nil
  @client                 = nil
  @bulk_operations_client = nil
end