Sha256: a6ac4b037ccec9f943fb1e072280f31138331f8fab2ba4f196bb111ef8a62e86
Contents?: true
Size: 671 Bytes
Versions: 1
Compression:
Stored size: 671 Bytes
Contents
module RooOnRails module Routemaster module Publishers @default_publishers = [] @publishers = {} def self.register_default(publisher_class) @default_publishers << publisher_class end def self.register(publisher_class, model_class:) @publishers[model_class] ||= Set.new @publishers[model_class] << publisher_class end def self.for(model, event) publisher_classes = @publishers[model.class] || @default_publishers publisher_classes.map { |c| c.new(model, event) } end def self.clear @default_publishers = [] @publishers = {} end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
roo_on_rails-1.10.0 | lib/roo_on_rails/routemaster/publishers.rb |