Sha256: 1e0ae5fda6d2df0e66abd1ba89c53d76bccc9c971e93b366909288af03a25131
Contents?: true
Size: 1.1 KB
Versions: 12
Compression:
Stored size: 1.1 KB
Contents
require "reactor/version" require "reactor/models/concerns/publishable" require "reactor/models/concerns/subscribable" require "reactor/models/concerns/optionally_subclassable" require "reactor/models/subscriber" require "reactor/controllers/concerns/resource_actionable" require "reactor/event" module Reactor SUBSCRIBERS = {} TEST_MODE_SUBSCRIBERS = Set.new @@test_mode = false module StaticSubscribers end def self.test_mode? @@test_mode end def self.test_mode! @@test_mode = true end def self.disable_test_mode! @@test_mode = false end def self.in_test_mode test_mode! (yield if block_given?).tap { disable_test_mode! } end def self.enable_test_mode_subscriber(klass) TEST_MODE_SUBSCRIBERS << klass end def self.disable_test_mode_subscriber(klass) TEST_MODE_SUBSCRIBERS.delete klass end def self.with_subscriber_enabled(klass) enable_test_mode_subscriber klass yield if block_given? disable_test_mode_subscriber klass end end ActiveRecord::Base.send(:include, Reactor::Publishable) ActiveRecord::Base.send(:include, Reactor::Subscribable)
Version data entries
12 entries across 12 versions & 1 rubygems