Sha256: 8421b9fafb47df855fe256ac6835442744a950ccd62826a08cc1e0e8512be35b
Contents?: true
Size: 1.48 KB
Versions: 1
Compression:
Stored size: 1.48 KB
Contents
# -*- encoding : utf-8 -*- require 'singleton' module OpenPayU class Configuration include Singleton class << self attr_accessor :env, :merchant_pos_id, :pos_auth_key, :client_id, :client_secret, :signature_key, :service_domain, :country, :data_format, :algorithm, :protocol, :order_url, :notify_url, :continue_url def configure(file_path = nil) set_defaults if block_given? yield self else file = File.open(file_path) if file_path && File.exists?(file_path) env = defined?(Rails) ? Rails.env : ENV['RACK_ENV'] config = YAML.load(file)[env] if config.present? config.each_pair do |key, value| send("#{key}=", value) end end end valid? end def set_defaults @service_domain = 'payu.com' @env = 'sandbox' @country = 'pl' @algorithm = 'MD5' @data_format = 'json' end def required_parameters [:merchant_pos_id, :signature_key] end def valid? required_parameters.each do |parameter| if send(parameter).nil? || send(parameter).blank? raise WrongConfigurationError, "Parameter #{parameter} is invalid." end end true end def get_base_url "#{@protocol}://#{@env}.#{@service_domain}/api/v2/" end def use_ssl? @protocol == 'https' end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
openpayu-0.1.2 | lib/openpayu/configuration.rb |