Sha256: 4a06ad0549f694fec95baae9d8c54a1e314d3e0cec9bdf35bc1915ac77b260b3

Contents?: true

Size: 699 Bytes

Versions: 1

Compression:

Stored size: 699 Bytes

Contents

require 'rohbau/registry'

module Rohbau
  class ServiceFactory
    include Rohbau::Registry

    def initialize(runtime)
      raise "No Runtime instanciated" unless runtime
      @runtime = runtime
    end

    def self.external_dependencies_complied?
      missing_dependencies.empty?
    end

    def self.missing_dependencies
      external_dependencies.reject do |dependency|
        registrations.include? dependency
      end
    end

    def self.external_dependencies(*dependencies)
      if dependencies.any?
        @external_dependencies = dependencies
      else
        @external_dependencies ||= []
      end
    end

    protected

    def runtime
      @runtime
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rohbau-0.1.0 lib/rohbau/service_factory.rb