class Core::Pipeline::Actions::Block

public

A pipeline action defined as a block.

Public Class Methods

new(name = nil, before: nil, after: nil, context: nil, &block) click to toggle source
Calls superclass method Core::Pipeline::Action::new
# File lib/core/pipeline/actions/block.rb, line 13
def initialize(name = nil, before: nil, after: nil, context: nil, &block)
  @block = block

  super(name, before: before, after: after, context: context)
end

Public Instance Methods

finalize(context) click to toggle source
public
# File lib/core/pipeline/actions/block.rb, line 21
def finalize(context)
  case @context
  when NilClass
    context.define_method(@name, &@block)
    @name
  else
    if @block.binding.receiver.equal?(@context)
      @block
    else
      @context.define_singleton_method(@name, &@block)
      @context.method(@name).to_proc
    end
  end
end