module Catena::Lang::ClassMethods

Public Instance Methods

def_task(task_name, &block) click to toggle source
# File lib/catena/lang.rb, line 13
def def_task(task_name, &block)
  self.class_eval do
    # define the language func that creates bind task nodes
    define_method(task_name) do |*args|
      bind(__method__, *args)
    end

    callback_name = Lang.func_name_to_callback(task_name)
    define_method(callback_name, &block)
  end
end