class Middleman::CoreExtensions::Collections::StepContext

Attributes

current[RW]
descriptors[R]

Public Class Methods

add_to_context(name, &func) click to toggle source
# File lib/middleman-core/core_extensions/collections/step_context.rb, line 8
def add_to_context(name, &func)
  send(:define_method, :"_internal_#{name}", &func)
end
new(app) click to toggle source
# File lib/middleman-core/core_extensions/collections/step_context.rb, line 15
def initialize(app)
  @app = app
  @descriptors = []
end

Public Instance Methods

method_missing(name, *args, &block) click to toggle source
# File lib/middleman-core/core_extensions/collections/step_context.rb, line 20
def method_missing(name, *args, &block)
  internal = :"_internal_#{name}"

  if respond_to?(internal)
    send(internal, *args, &block).tap do |r|
      @descriptors << r if r.respond_to?(:execute_descriptor)
    end
  else
    @app.config_context.send(name, *args, &block)
  end
end