class Toys::StandardMiddleware::ApplyConfig
A middleware that applies the given block to all tool configurations.
Public Class Methods
new(parent_source: nil, source_name: nil, &block)
click to toggle source
Create an ApplyConfig
middleware
@param parent_source [Toys::SourceInfo] The SourceInfo
corresponding to
the source where this block is provided, or `nil` (the default) if the block does not come from a Toys file.
@param source_name [String] A user-visible name for the source, or
`nil` to use the default.
@param block [Proc] The configuration to apply.
# File lib/toys/standard_middleware/apply_config.rb, line 19 def initialize(parent_source: nil, source_name: nil, &block) @source_info = if parent_source parent_source.proc_child(block, source_name: source_name) else SourceInfo.create_proc_root(block, source_name: source_name) end @block = block end
Public Instance Methods
config(tool, loader) { || ... }
click to toggle source
Appends the configuration block. @private
# File lib/toys/standard_middleware/apply_config.rb, line 33 def config(tool, loader) tool_class = tool.tool_class DSL::Internal.prepare(tool_class, tool.full_name, tool.priority, nil, @source_info, loader) do tool_class.class_eval(&@block) end yield end