Module: DilisensePepClient

Defined in:
lib/dilisense_pep_client.rb,
lib/dilisense_pep_client/client.rb,
lib/dilisense_pep_client/errors.rb,
lib/dilisense_pep_client/metrics.rb,
lib/dilisense_pep_client/version.rb,
lib/dilisense_pep_client/audit_logger.rb,
lib/dilisense_pep_client/configuration.rb,
lib/dilisense_pep_client/circuit_breaker.rb

Overview

Main module for the Dilisense PEP/Sanctions screening Ruby client Provides a simple interface for screening individuals and entities against PEP (Politically Exposed Persons) and sanctions lists

Examples:

Basic configuration and usage

# Configure the gem with your API key (usually done once at startup)
DilisensePepClient.configure do |config|
  config.api_key = "your_api_key_here"
  config.timeout = 30  # Optional: customize timeout
end

# Screen an individual
results = DilisensePepClient.check_individual(
  names: "Vladimir Putin",
  dob: "07/10/1952",
  gender: "male"
)

# Screen an entity/company
results = DilisensePepClient.check_entity(names: "Bank Rossiya")

Defined Under Namespace

Classes: APIError, AuditLogger, AuthenticationError, CircuitBreaker, CircuitBreakerError, Client, ComplianceError, Configuration, ConfigurationError, DataProcessingError, Error, ErrorFactory, Metrics, MetricsRegistry, NetworkError, RateLimitError, TimeoutError, ValidationError

Constant Summary collapse

VERSION =
"0.1.1"

Class Method Summary collapse

Class Method Details

.check_entity(names: nil, search_all: nil, fuzzy_search: nil) ⇒ Array<Hash>

Convenience method to screen an entity/company Delegates to the client’s check_entity method

Examples:

Screen a company

results = DilisensePepClient.check_entity(names: "Apple Inc")

Parameters:

  • names (String, nil) (defaults to: nil)

    Entity name to search

  • search_all (String, nil) (defaults to: nil)

    Alternative search parameter

  • fuzzy_search (Integer, nil) (defaults to: nil)

    Fuzzy search level (1 or 2)

Returns:

  • (Array<Hash>)

    Array of matching entities



93
94
95
# File 'lib/dilisense_pep_client.rb', line 93

def check_entity(names: nil, search_all: nil, fuzzy_search: nil)
  client.check_entity(names: names, search_all: search_all, fuzzy_search: fuzzy_search)
end

.check_individual(names: nil, search_all: nil, dob: nil, gender: nil, fuzzy_search: nil, includes: nil) ⇒ Array<Hash>

Convenience method to screen an individual Delegates to the client’s check_individual method

Examples:

Screen with multiple parameters

results = DilisensePepClient.check_individual(
  names: "John Smith",
  dob: "01/01/1980",
  fuzzy_search: 1
)

Parameters:

  • names (String, nil) (defaults to: nil)

    Full name to search

  • search_all (String, nil) (defaults to: nil)

    Alternative search parameter

  • dob (String, nil) (defaults to: nil)

    Date of birth (DD/MM/YYYY)

  • gender (String, nil) (defaults to: nil)

    Gender (male/female)

  • fuzzy_search (Integer, nil) (defaults to: nil)

    Fuzzy search level (1 or 2)

  • includes (String, nil) (defaults to: nil)

    Source IDs to include

Returns:

  • (Array<Hash>)

    Array of matching individuals



79
80
81
# File 'lib/dilisense_pep_client.rb', line 79

def check_individual(names: nil, search_all: nil, dob: nil, gender: nil, fuzzy_search: nil, includes: nil)
  client.check_individual(names: names, search_all: search_all, dob: dob, gender: gender, fuzzy_search: fuzzy_search, includes: includes)
end

.clientClient

Get or create the API client instance Uses singleton pattern to reuse the same client

Returns:

  • (Client)

    The API client instance



58
59
60
# File 'lib/dilisense_pep_client.rb', line 58

def client
  @client ||= Client.new
end

.configurationConfiguration

Access the configuration object Returns the configuration instance which holds all settings

Returns:



35
36
37
# File 'lib/dilisense_pep_client.rb', line 35

def configuration
  @configuration ||= Configuration.new
end

.configure {|config| ... } ⇒ Object

Configure the gem with a block This is the main way to set up the gem with your API key and preferences

Examples:

Set API key and timeout

DilisensePepClient.configure do |config|
  config.api_key = "your_api_key"
  config.timeout = 45
end

Yields:

  • (config)

    Configuration block

Yield Parameters:



50
51
52
# File 'lib/dilisense_pep_client.rb', line 50

def configure
  yield(configuration)
end

.reset!nil

Reset the gem to its initial state Clears configuration and client instance Useful for testing or reconfiguration

Returns:

  • (nil)


102
103
104
105
# File 'lib/dilisense_pep_client.rb', line 102

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