Class: PaystackSdk::Resources::Base

Inherits:
Object
  • Object
show all
Includes:
Utils::ConnectionUtils, Validations
Defined in:
lib/paystack_sdk/resources/base.rb

Overview

The ‘Base` class serves as a parent class for all resource classes in the SDK. It provides shared functionality, such as handling API responses.

Constant Summary

Constants included from Utils::ConnectionUtils

Utils::ConnectionUtils::BASE_URL

Instance Method Summary collapse

Methods included from Utils::ConnectionUtils

#create_connection, #initialize_connection

Methods included from Validations

#validate_allowed_values!, #validate_currency!, #validate_date_format!, #validate_email!, #validate_fields!, #validate_hash!, #validate_positive_integer!, #validate_presence!, #validate_reference_format!, #validate_required_params!

Constructor Details

#initialize(connection = nil, secret_key: nil) ⇒ Base

Initializes a new ‘Base` instance.

Examples:

With an existing connection

connection = Faraday.new(...)
resource = PaystackSdk::Resources::SomeResource.new(connection)

With an API key

resource = PaystackSdk::Resources::SomeResource.new(secret_key: "sk_test_xxx")

With default connection (requires PAYSTACK_SECRET_KEY environment variable)

resource = PaystackSdk::Resources::SomeResource.new

Parameters:

  • connection (Faraday::Connection, nil) (defaults to: nil)

    The Faraday connection object used for API requests. If nil, a new connection will be created using the default API key.

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

    Optional API key to use for creating a new connection. Only used if connection is nil.



32
33
34
# File 'lib/paystack_sdk/resources/base.rb', line 32

def initialize(connection = nil, secret_key: nil)
  @connection = initialize_connection(connection, secret_key: secret_key)
end