lib/nitro_pay.rb in nitro_pay-0.1.0 vs lib/nitro_pay.rb in nitro_pay-1.0.0
- old
+ new
@@ -1,5 +1,93 @@
-require "nitro_pay/version"
+# Libs/Gems or Ruby classes
+require 'json'
+require 'curl'
+require 'yaml'
+require 'rest_client'
+require 'bigdecimal'
+require 'bigdecimal/util'
+# Overrides
+require 'nitro_pay/hash'
+require 'nitro_pay/array'
+
+# Gem files
+[:version, :connection, :status, :transaction, :currency, :string].each { |lib| require "nitro_pay/#{lib}" }
+
module NitroPay
- # Your code goes here...
-end
+ # Module attr
+ @@enum = nil
+
+ # Production settings
+ @@app_id = nil
+ @@secret_key = nil
+
+ # Tests settings
+ @@proxy_yml = nil
+ @@test_env = nil
+ @@debug = nil
+
+ def self.proxy_yml
+ @@proxy_yml = NitroPay.get_proxy_from_yml if @@proxy_yml.nil?
+ @@proxy_yml
+ end
+
+ def self.proxy
+ return nil if NitroPay.proxy_yml.nil? || NitroPay.proxy_yml.empty?
+ "http://#{NitroPay.proxy_yml[:login]}:#{NitroPay.proxy_yml[:password]}@#{NitroPay.proxy_yml[:host]}:#{NitroPay.proxy_yml[:port]}/"
+ end
+
+ def self.app_id=(app_id)
+ @@app_id = app_id
+ end
+
+ def self.app_id
+ @@app_id
+ end
+
+ def self.secret_key=(secret_key)
+ @@secret_key = secret_key
+ end
+
+ def self.secret_key
+ @@secret_key
+ end
+
+ def self.test_env
+ @@test_env
+ end
+
+ def self.test_env=(test_env)
+ @@test_env = test_env
+ end
+
+ def self.debug
+ @@debug
+ end
+
+ def self.debug=(debug)
+ @@debug = debug
+ end
+
+ def self.get_proxy_from_yml
+ yml = YAML::load_file(File.join(File.dirname(File.expand_path(__FILE__)), 'nitro_pay/config/proxy.yml'))
+ !yml.nil? || yml.is_a?(Hash) ? yml.it_keys_to_sym : {} if yml
+ end
+
+ def self.enum
+ enum = {}
+ return @@enum unless @@enum.nil?
+
+ enum = enum.merge load_yml('brands.yml')
+ enum = enum.merge load_yml('currencies.yml')
+ enum = enum.merge load_yml('payment_methods.yml')
+ enum = enum.merge load_yml('recurrence_periods.yml')
+ enum = enum.merge load_yml('transaction_codes.yml')
+
+ enum = enum.it_keys_to_sym
+ @@enum = enum
+ end
+
+ def self.load_yml(file_name)
+ YAML::load_file(File.join(File.dirname(File.expand_path(__FILE__)), 'nitro_pay/config/enums/' + file_name))
+ end
+end
\ No newline at end of file