Module: Catena::Lang::ClassMethods

Defined in:
lib/catena/lang.rb

Instance Method Summary collapse

Instance Method Details

#def_task(task_name, &block) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
# 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