Sha256: ee8c55be73d1dbda7bbef7585e2a84f7e7e4842769b49eaab0c557d4ca82c0f7
Contents?: true
Size: 1.26 KB
Versions: 2
Compression:
Stored size: 1.26 KB
Contents
require 'active_support/concern' require 'wisper/publisher' module Wisper module Mongoid # Broadcasts Wisper events when Mongoid records are saved. module Publisher extend ActiveSupport::Concern included do include Wisper::Publisher after_validation :after_validation_broadcast after_create :after_create_broadcast, on: :create after_update :after_update_broadcast, on: :update after_destroy :after_destroy_broadcast, on: :destroy end private def after_validation_broadcast action = new_record? ? 'create' : 'update' broadcast("#{action}_#{broadcast_model_name_key}_failed", self) unless errors.empty? end def after_create_broadcast broadcast(:after_create, self) broadcast("create_#{broadcast_model_name_key}_successful", self) end def after_update_broadcast broadcast(:after_update, self) broadcast("update_#{broadcast_model_name_key}_successful", self) end def after_destroy_broadcast broadcast(:after_destroy, self) broadcast("destroy_#{broadcast_model_name_key}_successful", self) end def broadcast_model_name_key self.class.model_name.param_key end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
fhwang-wisper-mongoid-0.2.4 | lib/wisper/mongoid/publisher.rb |
fhwang-wisper-mongoid-0.2.3 | lib/wisper/mongoid/publisher.rb |