Sha256: 025dca7b4d894dcefb582e185a1718b0015be980dc9ceb2d5d3a2f6234e87f88

Contents?: true

Size: 858 Bytes

Versions: 5

Compression:

Stored size: 858 Bytes

Contents

# collect together all instances of the `supervise` method
module Celluloid
  class << self
    def supervise(config={}, &block)
      supervisor = Supervision.router(config)
      supervisor.supervise(config, &block)
    end
  end
  module ClassMethods
    def supervise(config={}, &block)
      Celluloid.supervise(config.merge(type: self), &block)
    end
  end
  module Supervision
    class << self
      def router(config={})
        # TODO: Actually route.
        Celluloid.services # for now, hardcode .services
      end
    end
    class Container
      class << self
        def supervise(config, &block)
          blocks << lambda do |container|
            container.add(config, &block)
          end
        end
      end
      def supervise(config, &block)
        add(Configuration.options(config, block: block))
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
celluloid-supervision-0.20.1.1 lib/celluloid/supervision/supervise.rb
celluloid-supervision-0.20.1 lib/celluloid/supervision/supervise.rb
celluloid-supervision-0.20.0 lib/celluloid/supervision/supervise.rb
celluloid-supervision-0.20.0.pre6 lib/celluloid/supervision/supervise.rb
celluloid-supervision-0.20.0.pre5 lib/celluloid/supervision/supervise.rb