Class: Pico::Application::ApplicationModule

Inherits:
Module
  • Object
show all
Defined in:
lib/pico/application.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Module

#const_missing

Constructor Details

#initialize(application) ⇒ ApplicationModule

Returns a new instance of ApplicationModule.



64
65
66
67
# File 'lib/pico/application.rb', line 64

def initialize(application)
  @application = application
  extend self
end

Instance Attribute Details

#applicationObject (readonly)

Returns the value of attribute application.



62
63
64
# File 'lib/pico/application.rb', line 62

def application
  @application
end

Instance Method Details

#build(const_name, **params) ⇒ Object



69
70
71
72
73
74
75
# File 'lib/pico/application.rb', line 69

def build(const_name, **params)
  child_injector = application.injector.clone
  child_injector.configure values: params
  child_injector.get const_name
rescue Ruse::UnknownServiceError => ruse_error
  raise Exception, "could not resolve dependency `#{ruse_error}'"
end