lib/fin/models/money_limit.rb in fin-0.1.0 vs lib/fin/models/money_limit.rb in fin-0.1.2
- old
+ new
@@ -3,79 +3,50 @@
module Fin
# Represents information about client`s money, vm and various limits
# Source table: FORTS_ PART_REPL::part – информация о средствах и лимитах
#
class MoneyLimit < Model
+ model_class_id 13
+
# Properties as per P2ClientGate API
- prop_accessor [:repl_id, :id], [:repl_rev, :rev],
- :client_code, # c7 Код клиента
- :money_old, # d26.2 Денег на начало сессии
- :money_amount, # d26.2 Всего денег
- :money_free, # d26.2 Свободно денег
- :money_blocked, # d26.2 Заблокировано денег
- :pledge_old, # d26.2 Залогов на начало сессии
- :pledge_amount, # d26.2 Всего залогов
- :pledge_free, # d26.2 Свободно залогов
- :pledge_blocked, # d26.2 Заблокировано залогов
- :vm_reserve, # d26.2 Сумма, зарезервированная под вариационную маржу
- :vm_intercl, # d26.2 Mаржа, списанная или полученная в пром. клиринг
- :fee, # d26.2 Списанный сбор
- :fee_reserve, # d26.2 Заблокированный резерв сбора под заявки
- :limit_spot_buy, # d26.2 Лимит на Покупку Спотов.
- :limit_spot_buy_used, # d26.2 Использованный Лимит на Покупку Спотов
- :coeff_go, # d16.5 Коэффициент клиентского ГО
- :coeff_liquidity, # d16.5 Коэффициент ликвидности
- :premium, # d26.2 Премия
- :premium_order_reserve, # f Резерв премии под заявки
+ property :client_code => :c7, # Код клиента
+ :money_old => :'d26.2', # Денег на начало сессии
+ :money_amount => :'d26.2', # Всего денег
+ :money_free => :'d26.2', # Свободно денег
+ :money_blocked => :'d26.2', # Заблокировано денег
+ :pledge_old => :'d26.2', # Залогов на начало сессии
+ :pledge_amount => :'d26.2', # Всего залогов
+ :pledge_free => :'d26.2', # Свободно залогов
+ :pledge_blocked => :'d26.2', # Заблокировано залогов
+ :vm_reserve => :'d26.2', # Зарезервированно под вариационную маржу
+ :vm_intercl => :'d26.2', # Mаржа, списанная/полученная в пром. клиринг
+ :fee => :'d26.2', # Списанный сбор
+ :fee_reserve => :'d26.2', # Заблокированный резерв сбора под заявки
+ :limit_spot_buy => :'d26.2', # Лимит на Покупку Спотов.
+ :limit_spot_buy_used => :'d26.2', # Использованный Лимит на Спот-покупку
+ :coeff_go => :'d16.5', # Коэффициент клиентского ГО
+ :coeff_liquidity => :'d16.5', # Коэффициент ликвидности
+ :premium => :'d26.2', # Премия
+ :premium_order_reserve => :f, # Резерв премии под заявки
+ :is_auto_update_limit => :i1, # Признак автокоррекции лимита на
+ # величину дохода при закачке после клиринга: 0-нет, 1-менять.
+ :is_auto_update_spot_limit => :i1, # Автокоррекция лимитов по Спотам
+ # (на Продажу, и на Покупку) при закачке после клиринга: 0-нет, 1-менять.
+ :no_fut_discount => :i1, # 1 - Запрещено использовать скидку по фьючерсам, 0-нет.
+ :limits_set => :i1 # 1 - Лимиты установлены, 0 – отсутствуют
- # Not extracted from record:
- :is_auto_update_limit, # i1 Признак автокоррекции лимита на величину
- # дохода при закачке после клиринга: 0-нет, 1-менять.
- :is_auto_update_spot_limit, # i1 Признак автокоррекции лимитов по Спотам
- # (на Продажу, и на Покупку) при закачке после клиринга: 0-нет, 1-менять.
- :no_fut_discount, # i1 Запрещение использования скидки по
- # фьючерсам: 1-Запрет, 0-нет.
- :limits_set # i1 Признак лимитов. 0 – лимиты отсутствуют
-
-
- def self.from_record rec
- new :repl_id => rec.GetValAsString('replID').to_i,
- :repl_rev => rec.GetValAsString('replRev').to_i,
- :client_code => rec.GetValAsString('client_code'),
- :money_old => rec.GetValAsString('money_old').to_f,
- :money_amount => rec.GetValAsString('money_amount').to_f,
- :money_free => rec.GetValAsString('money_free').to_f,
- :money_blocked => rec.GetValAsString('money_blocked').to_f,
- :pledge_old => rec.GetValAsString('pledge_old').to_f,
- :pledge_amount => rec.GetValAsString('pledge_amount').to_f,
- :pledge_free => rec.GetValAsString('pledge_free').to_f,
- :pledge_blocked => rec.GetValAsString('pledge_blocked').to_f,
- :vm_reserve => rec.GetValAsString('vm_reserve').to_f,
- :vm_intercl => rec.GetValAsString('vm_intercl').to_f,
- :fee => rec.GetValAsString('vm_intercl').to_f,
- :fee_reserve => rec.GetValAsString('vm_reserve').to_f,
- :limit_spot_buy => rec.GetValAsString('vm_reserve').to_f,
- :limit_spot_buy_used => rec.GetValAsString('vm_reserve').to_f,
- :coeff_go => rec.GetValAsString('coeff_go').to_f,
- :coeff_liquidity => rec.GetValAsString('coeff_liquidity').to_f,
- :premium => rec.GetValAsString('premium').to_f,
- :premium_order_reserve => rec.GetValAsString('premium_order_reserve').to_f,
- end
-
def self.index_for rec
rec.GetValAsLong('replID')
end
def index
- @repl_id
+ repl_id
end
- def inspect
+ def to_s
"Money: Old #{money_old} Amt #{money_amount} Free #{money_free} Blck #{money_blocked} " +
"Pledge: Old #{pledge_old} Amt #{pledge_amount} Free #{pledge_free} Blck #{pledge_blocked} " +
"VM: Reserve #{vm_reserve} Intercl #{vm_intercl} Fee: #{fee} Reserve #{fee_reserve} " +
"Limit Spot: Buy #{limit_spot_buy} Used #{limit_spot_buy_used}"
end
-
- alias to_s inspect
end
end