Module: Tamara

Defined in:
lib/tamara.rb,
lib/tamara/hmac.rb,
lib/tamara/errors.rb,
lib/tamara/version.rb,
lib/tamara/api/orders.rb,
lib/tamara/api/request.rb,
lib/tamara/api/payments.rb,
lib/tamara/api/webhooks.rb,
lib/tamara/api/api_token.rb,
lib/tamara/api/signature.rb,
lib/tamara/configuration.rb,
lib/tamara/api/orders/cancel.rb,
lib/tamara/api/orders/create.rb,
lib/tamara/api/payment_types.rb,
lib/tamara/json_schemas/item.rb,
lib/tamara/api/payment_options.rb,
lib/tamara/json_schemas/amount.rb,
lib/tamara/api/orders/authorize.rb,
lib/tamara/api/payments/capture.rb,
lib/tamara/json_schemas/address.rb,
lib/tamara/json_schemas/webhook.rb,
lib/tamara/json_schemas/consumer.rb,
lib/tamara/json_schemas/discount.rb,
lib/tamara/json_schemas/types/url.rb,
lib/tamara/json_schemas/validator.rb,
lib/tamara/api/application_service.rb,
lib/tamara/json_schemas/types/date.rb,
lib/tamara/json_schemas/types/enum.rb,
lib/tamara/json_schemas/types/uuid.rb,
lib/tamara/json_schemas/types/float.rb,
lib/tamara/api/payment_options/check.rb,
lib/tamara/json_schemas/merchant_url.rb,
lib/tamara/json_schemas/types/string.rb,
lib/tamara/json_schemas/orders/cancel.rb,
lib/tamara/json_schemas/orders/create.rb,
lib/tamara/json_schemas/payment_types.rb,
lib/tamara/json_schemas/types/boolean.rb,
lib/tamara/json_schemas/types/integer.rb,
lib/tamara/json_schemas/webhook_event.rb,
lib/generators/tamara/install_generator.rb,
lib/tamara/json_schemas/risk_assessment.rb,
lib/tamara/json_schemas/payments/capture.rb,
lib/tamara/api/orders/details/tamara_order.rb,
lib/tamara/api/orders/details/merchant_order.rb,
lib/tamara/json_schemas/payment_options/check.rb,
lib/tamara/json_schemas/checkout_optional_keys.rb

Defined Under Namespace

Modules: Generators, Hmac, JsonSchemas, Orders, PaymentOptions, Payments, Request Classes: APIConnectionError, APIError, ApiToken, ApplicationService, AuthenticationError, Configuration, ConfigurationMissingError, InvalidRequestError, PaymentTypes, Signature, SignatureVerificationError, TamaraError, Webhooks

Constant Summary collapse

SANDBOX_URI =
"https://api-sandbox.tamara.co".freeze
PRODUCTION_URI =
"https://api.tamara.co".freeze
COUNTRY_CODES =
%w[SA AE BH KW OM].freeze
VERSION =
"0.1.0".freeze

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.api_tokenObject

Returns the value of attribute api_token.



67
68
69
# File 'lib/tamara.rb', line 67

def api_token
  @api_token
end

.notification_tokenObject

Returns the value of attribute notification_token.



67
68
69
# File 'lib/tamara.rb', line 67

def notification_token
  @notification_token
end

.public_keyObject

Returns the value of attribute public_key.



67
68
69
# File 'lib/tamara.rb', line 67

def public_key
  @public_key
end

Class Method Details

.base_uriObject



69
70
71
72
73
74
75
# File 'lib/tamara.rb', line 69

def base_uri
  if defined?(Rails) && Rails.respond_to?(:env)
    Rails.env.production? ? PRODUCTION_URI : SANDBOX_URI
  else
    SANDBOX_URI
  end
end

.checkout_uriObject



77
78
79
# File 'lib/tamara.rb', line 77

def checkout_uri
  "#{base_uri}/checkout"
end

.configurationObject



97
98
99
# File 'lib/tamara.rb', line 97

def configuration
  @configuration ||= Configuration.new
end

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

Yields:



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

def configure
  yield configuration
end

.orders_uriObject



81
82
83
# File 'lib/tamara.rb', line 81

def orders_uri
  "#{base_uri}/orders"
end

.payments_uriObject



85
86
87
# File 'lib/tamara.rb', line 85

def payments_uri
  "#{base_uri}/payments"
end

.webhooks_uriObject



89
90
91
# File 'lib/tamara.rb', line 89

def webhooks_uri
  "#{base_uri}/webhooks"
end