class BitexBot::SettingsClass
This class load settings file, else write a sample file.
Public Instance Methods
base()
click to toggle source
# File lib/bitex_bot/settings.rb, line 42 def base order_book_currencies[:base] end
buying_fx_rate()
click to toggle source
# File lib/bitex_bot/settings.rb, line 34 def buying_fx_rate Store.first.try(:buying_fx_rate) || buying_foreign_exchange_rate end
load_default()
click to toggle source
# File lib/bitex_bot/settings.rb, line 28 def load_default path = ARGV[0] || 'bitex_bot_settings.rb' show_sample(path) unless FileTest.exists?(path) load_settings(path) end
load_test()
click to toggle source
# File lib/bitex_bot/settings.rb, line 24 def load_test load_settings(sample_path) end
maker_class()
click to toggle source
# File lib/bitex_bot/settings.rb, line 50 def maker_class exchange_class(maker) end
maker_settings()
click to toggle source
# File lib/bitex_bot/settings.rb, line 58 def maker_settings exchange_settings(maker) end
quote()
click to toggle source
# File lib/bitex_bot/settings.rb, line 46 def quote order_book_currencies[:quote] end
selling_fx_rate()
click to toggle source
# File lib/bitex_bot/settings.rb, line 38 def selling_fx_rate Store.first.try(:selling_fx_rate) || selling_foreign_exchange_rate end
taker_class()
click to toggle source
# File lib/bitex_bot/settings.rb, line 54 def taker_class exchange_class(taker) end
taker_settings()
click to toggle source
# File lib/bitex_bot/settings.rb, line 62 def taker_settings exchange_settings(taker) end
Private Instance Methods
exchange_class(exchange)
click to toggle source
# File lib/bitex_bot/settings.rb, line 93 def exchange_class(exchange) "#{exchange_name(exchange).capitalize}ApiWrapper".constantize end
exchange_name(exchange)
click to toggle source
# File lib/bitex_bot/settings.rb, line 89 def exchange_name(exchange) exchange.keys.pop end
exchange_settings(exchange)
click to toggle source
# File lib/bitex_bot/settings.rb, line 97 def exchange_settings(exchange) exchange.send(exchange_name(exchange)) end
load_settings(path)
click to toggle source
# File lib/bitex_bot/settings.rb, line 68 def load_settings(path) file_settings = FileSettings.new file_settings.instance_eval(File.read(path), path, 1) merge!(file_settings) end
order_book_currencies()
click to toggle source
# File lib/bitex_bot/settings.rb, line 85 def order_book_currencies {}.tap { |currencies| currencies[:base], currencies[:quote] = maker_settings.order_book.to_s.split('_') } end
sample_path()
click to toggle source
# File lib/bitex_bot/settings.rb, line 74 def sample_path File.expand_path('../../settings.rb.sample', __dir__) end
show_sample(path)
click to toggle source
# File lib/bitex_bot/settings.rb, line 78 def show_sample(path) FileUtils.cp(sample_path, path) puts "No settings found, I've created a new one with sample values at #{path}. "\ 'Please go ahead and edit it before running this again.' exit 1 end