class Moneymarket::Market

Attributes

account_provider[R]

Public Class Methods

new(_base_currency, _quote_currency, account_provider = nil) click to toggle source
# File lib/moneymarket/core/market.rb, line 5
def initialize(_base_currency, _quote_currency, account_provider = nil)
  @base_currency = _base_currency
  @quote_currency = _quote_currency
  @account_provider = account_provider
end

Public Instance Methods

base_account_for(_order) click to toggle source
# File lib/moneymarket/core/market.rb, line 23
def base_account_for(_order)
  account_provider.account_for(_order.user_id, base_currency)
end
destination_account_for(_order) click to toggle source
# File lib/moneymarket/core/market.rb, line 35
def destination_account_for(_order)
  public_send(_order.destination_account, _order)
end
exchange_base_account() click to toggle source
# File lib/moneymarket/core/market.rb, line 15
def exchange_base_account
  account_provider.exchange_account_for base_currency
end
exchange_quote_account() click to toggle source
# File lib/moneymarket/core/market.rb, line 19
def exchange_quote_account
  account_provider.exchange_account_for quote_currency
end
preload_user_balances(_users) click to toggle source
# File lib/moneymarket/core/market.rb, line 11
def preload_user_balances(_users)
  account_provider.preload_balances(_users, [_base_currency, _quote_currency])
end
quote_account_for(_order) click to toggle source
# File lib/moneymarket/core/market.rb, line 27
def quote_account_for(_order)
  account_provider.account_for(_order.user_id, quote_currency)
end
source_account_for(_order) click to toggle source
# File lib/moneymarket/core/market.rb, line 31
def source_account_for(_order)
  public_send(_order.source_account, _order)
end