.sync() for ActiveRecord objects

Hi everybody,

the other day, I thought it may be useful to have a .sync() method on
ActiveRecord objects. The behavior would be something between a
.reload() and a .save().

  • At every reload, an internal hash would store the attributes as they
    were in the db at reload time (think svn’s working-base)
  • whenever attributes are changed on the object, the values of that
    hash would remain untouched
  • whenever sync is called, the tuple gets reloaded from the db and both
    the current db tuple and the current object attribute values are
    compared to the working-base hash. if changes were made on the object,
    they get populated to the db and vice versa.
  • conflicts could result in exceptions or there could be defaults like
    so:
    my_object.sync :on_conflict_follow => :database

I didn’t have time to implement this so far, but I wanted to share this
idea and get feedback. What do you think?

Bests

Jan

check out acts_as_modified plugin

http://svn.viney.net.nz/things/rails/plugins/acts_as_modified/

Chris

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs