Class: Pico::Application::ConfigurationContext

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

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(application) ⇒ ConfigurationContext

Returns a new instance of ConfigurationContext.



79
80
81
82
83
# File 'lib/pico/application.rb', line 79

def initialize(application)
  define_singleton_method :__application__ do
    application
  end
end

Class Method Details

.evaluate(config_block, application:) ⇒ Object



85
86
87
# File 'lib/pico/application.rb', line 85

def self.evaluate(config_block, application:)
  new(application).instance_eval &config_block
end

Instance Method Details

#autoload_pathsObject



89
90
91
# File 'lib/pico/application.rb', line 89

def autoload_paths
  __application__.autoload_paths
end

#autoload_paths=(paths) ⇒ Object



93
94
95
96
# File 'lib/pico/application.rb', line 93

def autoload_paths=(paths)
  autoload_paths.clear
  autoload_paths.concat paths
end

#provide(provision = nil, as:, &factory_block) ⇒ Object



98
99
100
101
102
103
104
105
# File 'lib/pico/application.rb', line 98

def provide(provision = nil, as:, &factory_block)
  if block_given?
    raise ArgumentError, "cannot supply a block and a value" if provision
    provision = factory_block
  end
  config_key, value = extract_ruse_config provision
  __application__.injector.configure config_key => { as.to_sym => value }
end