【发布时间】:2012-06-08 23:57:20
【问题描述】:
在我的 Rails 模型中,我有类似的东西
默认价格 Money.new(price_cents, 货币) 结束
def price=(val)
price_cents = val.to_money.cents
end
def value
Money.new(value_cents, currency)
end
def value=(val)
value_cents = val.to_money.cents
end
def budget
Money.new(budget_cents, currency)
end
def budget=(val)
budget_cents = val.to_money.cents
end
def used
Money.new(used_cents, currency)
end
def used=(val)
used_cents = val.to_money.cents
end
这显然不是很干燥。我该如何重构它?
【问题讨论】:
-
你见过composition_of (api.rubyonrails.org/classes/ActiveRecord/Aggregations/…)
-
我以前用commodated_of,但是不想通过价格、价值等改变币种,所以commoded_of很难用。
标签: ruby-on-rails refactoring dry