class Pico::Application::ConfigurationContext
Public Class Methods
evaluate(config_block, application:)
click to toggle source
# File lib/pico/application.rb, line 85 def self.evaluate(config_block, application:) new(application).instance_eval &config_block end
new(application)
click to toggle source
# File lib/pico/application.rb, line 79 def initialize(application) define_singleton_method :__application__ do application end end
Public Instance Methods
autoload_paths()
click to toggle source
# File lib/pico/application.rb, line 89 def autoload_paths __application__.autoload_paths end
autoload_paths=(paths)
click to toggle source
# 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)
click to toggle source
# 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
Private Instance Methods
extract_ruse_config(provision)
click to toggle source
# File lib/pico/application.rb, line 109 def extract_ruse_config(provision) case provision when Class then [:aliases, provision.name] when String then [:aliases, provision] when -> p { p.respond_to?(:call) } then [:factories, provision] else [:values, provision] end end