Hoping one of the many experts here might help out a newb…
I have an aggregated attribute which I want to be able ask about its
_changed? ness, etc.
composed_of :range,
:class_name => ‘Range’,
:mapping => [ %w(range_begin begin), %w(range_end end)],
:allow_nil => true
If I use the aggregation:
foo.range = 1…10
This is what I get:
foo.range # => 1…10
foo.range_changed? # NoMethodError
foo.range_was # ditto
foo.changed # [‘range_begin’, ‘range_end’]
So basically, I’m not getting ActiveRecord::Dirty semantics on
aggregated attributes (they are on the underlying db attrs).
Is there a beautiful way to implement dirty semantics on the
aggregation? I’m not having a lot of luck with
alias_attribute_with_dirty, etc. I really am unfond of making my own
range_changed?, range_was, etc. Frankly, I was a bit surprised that
aggregation didn’t support dirty natively…
Advice greatly appreciated.