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