Может кто-нибудь сказать мне, как унаследовать валюту от родительской модели?
Я использую драгоценный камень (https://github.com/RubyMoney/money) и имею 2 модели (market и tradelimit).
Рыночная цена обновляется в периодическом издании, и если есть торговый лимит, который имеет ту же цену, пользователь становится информированным.
Поскольку на рынке уже есть сохраненная валюта, я не хочу хранить ее снова вМодель tradelimit (не сухая):
class Market << AR
composed_of :price,
:class_name => "Money",
:mapping => [%w(price_cents cents), %w(currency currency_as_string)],
:constructor => Proc.new { |cents, currency| Money.new(cents || 0, currency || Money.default_currency) },
:converter => Proc.new { |value| value.respond_to?(:to_money) ? value.to_money : raise(ArgumentError, "Can't convert #{value.class} to Money") }
...
end
#tradelimit.rb
class Tradelimit << AR
composed_of :price,
:class_name => "Money",
:mapping => [%w(price_cents cents), %w(currency currency_as_string)],
:constructor => Proc.new { |cents, currency| Money.new(cents || 0, currency || Money.default_currency) },
:converter => Proc.new { |value| value.respond_to?(:to_money) ? value.to_money : raise(ArgumentError, "Can't convert #{value.class} to Money") }
...
end
Как теперь я могу унаследовать валюту от родительской (рыночной) модели? Я пытался переопределить метод валюты в модели tradelimit, но эта работа не работает ..
Есть какие-нибудь предложения? Спасибо!
РЕДАКТИРОВАТЬ:
Или есть способ (без функции Comme_of), чтобы обеспечить эту функцию?