1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #---
- # Excerpted from "Agile Web Development with Rails",
- # published by The Pragmatic Bookshelf.
- # Copyrights apply to this code. It may not be used to create training material,
- # courses, books, articles, and the like. Contact us if you are in doubt.
- # We make no guarantees that this code is fit for any purpose.
- # Visit http://www.pragmaticprogrammer.com/titles/rails4 for more book information.
- #---
- #---
- # Excerpted from "Agile Web Development with Rails, 4rd Ed.",
- # published by The Pragmatic Bookshelf.
- # Copyrights apply to this code. It may not be used to create training material,
- # courses, books, articles, and the like. Contact us if you are in doubt.
- # We make no guarantees that this code is fit for any purpose.
- # Visit http://www.pragmaticprogrammer.com/titles/rails4 for more book information.
- #---
- $: << File.dirname(__FILE__)
- require "rubygems"
- require "active_record"
- require 'connect'
- ActiveRecord::Base.logger = Logger.new(STDERR)
- ActiveRecord::Schema.define do
- create_table :payments, :force => true do |t|
- end
- end
- class Order < ActiveRecord::Base
- end
- class Payment < ActiveRecord::Base
- end
- class Refund < ActiveRecord::Base
- end
- class OrderObserver < ActiveRecord::Observer
- def after_save(an_order)
- an_order.logger.info("Order #{an_order.id} created")
- end
- end
- OrderObserver.instance
- class AuditObserver < ActiveRecord::Observer
- observe Order, Payment, Refund
- def after_save(model)
- model.logger.info("[Audit] #{model.class.name} #{model.id} created")
- end
- end
- AuditObserver.instance
- o = Order.create
- p = Payment.create
|