I believe you can do this already with ActiveModel::Dirty<http://api.rubyonrails.org/classes/ActiveModel/Dirty.html> :
def send_mail_to_customer UserMailer.send_mail_to_customer if status_change == [0, 1] end On Monday, December 17, 2012 9:14:33 AM UTC-5, angelo capilleri wrote: > > Hi, > I'm thinking about a method that responds true or false for the changes of > attributes from a value to another to trace a little bit the status of an > AR object. > > Ex. > class Book < ActiveRecord::Base > STATUS_DELIVER = [0,1] > before_save :send_mail_to_customer > > def send_mail_to_customer > UserMailer.send_mail_to_customer if self.changes['status'] == [0, 1] > end > end > > It' a simple case but when complexity grows up a method like > > def send_mail_to_customer > UserMailer.send_mail_to_customer if self.status.changes(from: 0, to: 1) > end > > Maybe is more mantenible and readable. > > -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-core/-/xAAFpU6U2EoJ. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
