Module: IronBank

Defined in:
lib/iron_bank.rb,
lib/iron_bank/csv.rb,
lib/iron_bank/user.rb,
lib/iron_bank/error.rb,
lib/iron_bank/local.rb,
lib/iron_bank/utils.rb,
lib/iron_bank/action.rb,
lib/iron_bank/client.rb,
lib/iron_bank/logger.rb,
lib/iron_bank/object.rb,
lib/iron_bank/schema.rb,
lib/iron_bank/version.rb,
lib/iron_bank/endpoint.rb,
lib/iron_bank/metadata.rb,
lib/iron_bank/resource.rb,
lib/iron_bank/cacheable.rb,
lib/iron_bank/operation.rb,
lib/iron_bank/queryable.rb,
lib/iron_bank/collection.rb,
lib/iron_bank/payment_run.rb,
lib/iron_bank/associations.rb,
lib/iron_bank/actions/amend.rb,
lib/iron_bank/actions/query.rb,
lib/iron_bank/configuration.rb,
lib/iron_bank/local_records.rb,
lib/iron_bank/query_builder.rb,
lib/iron_bank/actions/create.rb,
lib/iron_bank/actions/delete.rb,
lib/iron_bank/actions/update.rb,
lib/iron_bank/authentication.rb,
lib/iron_bank/describe/field.rb,
lib/iron_bank/actions/execute.rb,
lib/iron_bank/describe/object.rb,
lib/iron_bank/describe/tenant.rb,
lib/iron_bank/resources/usage.rb,
lib/iron_bank/actions/generate.rb,
lib/iron_bank/describe/related.rb,
lib/iron_bank/resources/export.rb,
lib/iron_bank/resources/import.rb,
lib/iron_bank/actions/subscribe.rb,
lib/iron_bank/resources/account.rb,
lib/iron_bank/resources/contact.rb,
lib/iron_bank/resources/invoice.rb,
lib/iron_bank/resources/payment.rb,
lib/iron_bank/resources/product.rb,
lib/iron_bank/actions/query_more.rb,
lib/iron_bank/resources/amendment.rb,
lib/iron_bank/resources/rate_plan.rb,
lib/iron_bank/authentications/token.rb,
lib/iron_bank/authentications/cookie.rb,
lib/iron_bank/resources/invoice_item.rb,
lib/iron_bank/resources/subscription.rb,
lib/iron_bank/resources/taxation_item.rb,
lib/iron_bank/describe/excluded_fields.rb,
lib/iron_bank/resources/payment_method.rb,
lib/iron_bank/resources/invoice_payment.rb,
lib/iron_bank/operations/billing_preview.rb,
lib/iron_bank/resources/rate_plan_charge.rb,
lib/iron_bank/resources/product_rate_plan.rb,
lib/iron_bank/resources/invoice_adjustment.rb,
lib/iron_bank/resources/communication_profile.rb,
lib/iron_bank/resources/rate_plan_charge_tier.rb,
lib/iron_bank/resources/product_rate_plan_charge.rb,
lib/generators/iron_bank/install/install_generator.rb,
lib/iron_bank/faraday_middleware/response/renew_auth.rb,
lib/iron_bank/faraday_middleware/response/raise_error.rb,
lib/iron_bank/resources/product_rate_plan_charge_tier.rb,
lib/iron_bank/describe/excluded_fields/deduce_from_query.rb,
lib/iron_bank/describe/excluded_fields/extract_from_message.rb

Overview

IronBank main module

Defined Under Namespace

Modules: Actions, Associations, Authentications, Cacheable, Describe, FaradayMiddleware, Generators, Local, Metadata, Operations, Queryable, Resources, Utils Classes: Action, Authentication, BadGatewayError, BadRequestError, CSV, Client, ClientError, Collection, Configuration, ConflictError, Endpoint, Error, InternalServerError, LocalRecords, LockCompetitionError, Logger, NotFoundError, Object, Operation, PaymentRun, QueryBuilder, Resource, Schema, ServerError, TemporaryError, TooManyRequestsError, UnauthorizedError, UnprocessableEntityError, User

Constant Summary collapse

CatalogPlan =

Aliasing catalog-related objects

IronBank::Resources::ProductRatePlan
CatalogCharge =
IronBank::Resources::ProductRatePlanCharge
CatalogTier =
IronBank::Resources::ProductRatePlanChargeTier
Plan =

Aliasing subscription-related objects

IronBank::Resources::RatePlan
Charge =
IronBank::Resources::RatePlanCharge
Tier =
IronBank::Resources::RatePlanChargeTier
CODE_CLASSES =
{
  "API_DISABLED"           => ServerError,
  "CANNOT_DELETE"          => UnprocessableEntityError,
  "DUPLICATE_VALUE"        => ConflictError,
  "INVALID_FIELD"          => BadRequestError,
  "INVALID_ID"             => BadRequestError,
  "INVALID_TYPE"           => BadRequestError,
  "INVALID_VALUE"          => BadRequestError,
  "LOCK_COMPETITION"       => LockCompetitionError,
  "MALFORMED_QUERY"        => ClientError,
  "MISSING_REQUIRED_VALUE" => ClientError,
  "REQUEST_EXCEEDED_LIMIT" => TooManyRequestsError,
  "REQUEST_EXCEEDED_RATE"  => TooManyRequestsError,
  "TEMPORARY_ERROR"        => TemporaryError,
  "TRANSACTION_FAILED"     => InternalServerError,
  "TRANSACTION_TERMINATED" => InternalServerError,
  "TRANSACTION_TIMEOUT"    => BadGatewayError,
  "UNKNOWN_ERROR"          => InternalServerError
}.freeze
CODE_MATCHER =
/(#{CODE_CLASSES.keys.join('|')})/.freeze
VERSION =
"5.4.1"
API_VERSION =
"v1"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.clientObject

Holds an instance of IronBank::Client which becomes the default for many query and other actions requiring a connection to Zuora.



16
17
18
# File 'lib/iron_bank.rb', line 16

def client
  @client
end

.configurationObject

Configurable options such as schema directory.



19
20
21
# File 'lib/iron_bank.rb', line 19

def configuration
  @configuration
end

Class Method Details

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

Yields:



22
23
24
25
26
27
28
29
# File 'lib/iron_bank.rb', line 22

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

  return unless configuration.credentials?

  self.client ||= IronBank::Client.new(**configuration.credentials)
end

.loggerObject



31
32
33
# File 'lib/iron_bank.rb', line 31

def self.logger
  self.configuration.logger
end