public
Description: A workaround to ensure multiparameter assignment still works when you delegate date/time Active Record attributes
Homepage:
Clone URL: git://github.com/jonleighton/delegate_temporal.git
README.textile

Delegate Temporal

This Rails plugin allows you to continue to use multiparameter attributes when the actual
attribute is delegated to another object.

The problem

class Foo < ActiveRecord::Base
  ...
  delegate :start_time, :start_time=, :to => :appointment
end

@foo.attributes = { "start_time(1i)" => "2008", "start_time(2i)" => "9", ... }
# => Error!

The error occurs because Rails tries to look up the “start_time” column in the database (in order to
find out information about its type), but because we are delegating it doesn’t exist.

The solution

Install this plugin, and then:

class Foo < ActiveRecord::Base
  ...
  delegate_temporal :start_time, :to => :appointment
end

@foo.attributes = { "start_time(1i)" => "2008", "start_time(2i)" => "9", ... }
# => Yay, it works!