class Nurse::ServiceFactory

Private Class Methods

key(dependency_key) click to toggle source
# File lib/nurse/service_factory.rb, line 40
def key(dependency_key)
  instance_eval do
    define_method :dependency_key do
      dependency_key
    end
  end
end
share(boolean) click to toggle source
# File lib/nurse/service_factory.rb, line 32
def share(boolean)
  instance_eval do
    define_method :shared? do
      boolean
    end
  end
end

Public Instance Methods

attach_to(dependency_manager) click to toggle source
# File lib/nurse/service_factory.rb, line 3
def attach_to(dependency_manager)
  if shared?
    dependency_manager.share(dependency_key) do |di|
      create_service(di)
    end

    return
  end

  dependency_manager.set(dependency_key) do |di|
    create_service(di)
  end
end
create_service(_dependency_manager) click to toggle source
# File lib/nurse/service_factory.rb, line 17
def create_service(_dependency_manager)
  raise 'create_service must be implemented'
end
dependency_key() click to toggle source
# File lib/nurse/service_factory.rb, line 21
def dependency_key
  raise 'dependency_key must be implemented'
end
shared?() click to toggle source
# File lib/nurse/service_factory.rb, line 25
def shared?
  false
end