Module: Namabar

Defined in:
lib/namabar.rb,
lib/namabar/client.rb,
lib/namabar/version.rb,
lib/namabar/endpoints.rb,
lib/namabar/configuration.rb

Overview

The main Namabar module providing convenient access to the Namabar API

This module serves as the primary entry point for the Namabar gem, offering:

  • Global configuration management

  • Client creation and management

  • Error handling for the entire gem

Examples:

Basic usage

Namabar.configure do |config|
  config.api_key = 'your-api-key'
end

client = Namabar.client
response = client.send_message(...)

See Also:

Defined Under Namespace

Modules: Endpoints Classes: Client, Configuration, Error

Constant Summary collapse

VERSION =

The current version of the Namabar gem

This constant follows semantic versioning (SemVer) conventions:

  • MAJOR: Incompatible API changes

  • MINOR: Backwards-compatible functionality additions

  • PATCH: Backwards-compatible bug fixes

Examples:

Check the version

puts Namabar::VERSION # => "0.1.0"

Returns:

  • (String)

    the current version string

See Also:

'0.1.0'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationConfiguration?

Returns the global configuration instance.

Returns:



41
42
43
# File 'lib/namabar.rb', line 41

def configuration
  @configuration
end

Class Method Details

.client(*args) ⇒ Client

Create a new Namabar API client

Creates and returns a new Client instance using the global configuration. This is a convenience method equivalent to calling Client.new directly.

Examples:

Create a client

client = Namabar.client
response = client.send_message(...)

Parameters:

  • args (Array)

    arguments to pass to the Client constructor (currently none accepted)

Returns:

  • (Client)

    a new configured client instance

See Also:



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

def self.client(*args)
  Client.new(*args)
end

.configure {|config| ... } ⇒ Configuration

Configure the Namabar gem with API credentials and settings

This method provides a convenient way to set up the global configuration that will be used by all Client instances. The configuration object is yielded to the provided block for modification.

Examples:

Basic configuration

Namabar.configure do |config|
  config.api_key = ENV.fetch('NAMABAR__API_KEY', nil)
end

Configuration with validation

Namabar.configure do |config|
  config.api_key = ENV.fetch('NAMABAR_API_KEY') { raise 'API key required' }
end

Yields:

  • (config)

    Yields the configuration object for modification

Yield Parameters:

  • config (Configuration)

    the configuration instance to modify

Returns:

See Also:



60
61
62
63
64
# File 'lib/namabar.rb', line 60

def self.configure
  self.configuration ||= Configuration.new
  yield(configuration)
  configuration
end