Sha256: 1e3f0b4e85ce8ccddff1c64039f8e9d0818efae2460ada51ca12b867cd54a220
Contents?: true
Size: 1012 Bytes
Versions: 1
Compression:
Stored size: 1012 Bytes
Contents
module SubPub class ActiveRecordExtensions < Rails::Railtie initializer "pub sub configuration of active record extensions" do class ::ActiveRecord::Base after_create :notify_of_after_create private def notify_of_after_create notify_pub_sub_of_active_record_callback('after_create') end def notify_pub_sub_of_active_record_callback(callback) message = "active_record::#{self.class.to_s.underscore}::#{callback}" SubPub.publish(message, record: self) end end config.after_initialize do Dir[ File.expand_path("app/models/pub_sub/*.rb", Rails.root) ].each { |file| require file } end end end module ActiveRecord class Subscriber < SubPub::Subscriber def self.subscribe_to(class_instance, callback) super("active_record::#{class_instance.to_s.underscore}::#{callback}") end def record options[:record] end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sub_pub-0.0.3 | lib/sub_pub/active_record_extensions.rb |