class RgGen::Core::Builder::LoaderRegistry
Public Class Methods
new()
click to toggle source
# File lib/rggen/core/builder/loader_registry.rb, line 7 def initialize @loaders = [] @extractors = [] @ignore_values = {} end
Public Instance Methods
create_loaders()
click to toggle source
# File lib/rggen/core/builder/loader_registry.rb, line 35 def create_loaders @loaders.map { |loader| loader.new(@extractors, @ignore_values) } end
define_value_extractor(layers, value, &body)
click to toggle source
# File lib/rggen/core/builder/loader_registry.rb, line 21 def define_value_extractor(layers, value, &body) @extractors << create_extractor(layers, value, &body) end
ignore_value(layers, value)
click to toggle source
# File lib/rggen/core/builder/loader_registry.rb, line 25 def ignore_value(layers, value) ignore_values(layers, [value]) end
ignore_values(layers, values)
click to toggle source
# File lib/rggen/core/builder/loader_registry.rb, line 29 def ignore_values(layers, values) [layers].flatten.each do |layer| (@ignore_values[layer] ||= []).concat(Array(values)) end end
register_loader(loader)
click to toggle source
# File lib/rggen/core/builder/loader_registry.rb, line 13 def register_loader(loader) register_loaders([loader]) end
register_loaders(loaders)
click to toggle source
# File lib/rggen/core/builder/loader_registry.rb, line 17 def register_loaders(loaders) @loaders.concat(Array(loaders)) end
Private Instance Methods
create_extractor(layers, value, &body)
click to toggle source
# File lib/rggen/core/builder/loader_registry.rb, line 41 def create_extractor(layers, value, &body) Class.new(Core::InputBase::InputValueExtractor, &body).new(layers, value) end