Module: Tamara

Defined in:
lib/tamara.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/shipping_info.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/capture_optional_keys.rb,
lib/tamara/json_schemas/payment_options/check.rb,
lib/tamara/json_schemas/checkout_optional_keys.rb

Defined Under Namespace

Modules: Generators, 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.3".freeze

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.api_tokenObject

Returns the value of attribute api_token.



69
70
71
# File 'lib/tamara.rb', line 69

def api_token
  @api_token
end

.notification_tokenObject

Returns the value of attribute notification_token.



69
70
71
# File 'lib/tamara.rb', line 69

def notification_token
  @notification_token
end

.public_keyObject

Returns the value of attribute public_key.



69
70
71
# File 'lib/tamara.rb', line 69

def public_key
  @public_key
end

Class Method Details

.base_uriObject



71
72
73
74
75
76
77
# File 'lib/tamara.rb', line 71

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

.checkout_uriObject



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

def checkout_uri
  "#{base_uri}/checkout"
end

.configurationObject



99
100
101
# File 'lib/tamara.rb', line 99

def configuration
  @configuration ||= Configuration.new
end

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

Yields:



95
96
97
# File 'lib/tamara.rb', line 95

def configure
  yield configuration
end

.orders_uriObject



83
84
85
# File 'lib/tamara.rb', line 83

def orders_uri
  "#{base_uri}/orders"
end

.payments_uriObject



87
88
89
# File 'lib/tamara.rb', line 87

def payments_uri
  "#{base_uri}/payments"
end

.webhooks_uriObject



91
92
93
# File 'lib/tamara.rb', line 91

def webhooks_uri
  "#{base_uri}/webhooks"
end