class RgGen::Core::Builder::Layer::Proxy

Public Class Methods

new() { |self| ... } click to toggle source
# File lib/rggen/core/builder/layer.rb, line 8
def initialize
  block_given? && yield(self)
end

Public Instance Methods

execute(layer) click to toggle source
# File lib/rggen/core/builder/layer.rb, line 22
def execute(layer)
  Docile.dsl_eval(layer, &body)
  @executions&.each { |execution| call_execution(layer, execution) }
end
register_execution(registry, &body) click to toggle source
# File lib/rggen/core/builder/layer.rb, line 17
def register_execution(registry, &body)
  @executions ||= []
  @executions << { registry: registry, body: body }
end

Private Instance Methods

call_execution(layer, execution) click to toggle source
# File lib/rggen/core/builder/layer.rb, line 29
def call_execution(layer, execution)
  args = [list_name, feature_name, layer.shared_context].compact
  execution[:registry].__send__(method_name, *args, &execution[:body])
end