Module: DSLCompanion::Features::Basic

Includes:
MetaHelper
Included in:
Interpreter
Defined in:
lib/dsl_companion/features/basic.rb

Instance Method Summary collapse

Methods included from MetaHelper

#class_def, #inject_variable, #meta_def, #meta_eval, #metaclass

Instance Method Details

#define(*args, &block) ⇒ Anything returned by th emethod

If any method named define_<something>(*args) is in the DSL, then it provides an alternate  generic syntax of define(:something, *args)

Parameters:

  • args (Object[])
  • block (Proc)

Returns:

  • (Anything returned by th emethod)


13
14
15
16
17
18
19
20
21
# File 'lib/dsl_companion/features/basic.rb', line 13

def define *args, &block
  extra = args.shift
  method_name = "define_#{extra}"
  if respond_to? method_name.to_sym
    block_given? ? self.send(method_name, *args, &block) : self.send(method_name, *args)
  else
    block_given? ? method_missing(method_name.to_sym, *args, & block) : method_missing(method_name.to_sym, *args)
  end
end

#interpreterObject



27
28
29
# File 'lib/dsl_companion/features/basic.rb', line 27

def interpreter
  self
end

#interpreter?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/dsl_companion/features/basic.rb', line 23

def interpreter?
  self.is_a? DSLHelper::Interpreter
end

#logger(msg, level = :info) ⇒ Object



31
32
33
34
35
36
37
# File 'lib/dsl_companion/features/basic.rb', line 31

def logger(msg, level=:info)
  if @logger.nil?
    STDERR.puts "#{level.to_s.upcase}: #{msg}"
  else
    @logger.send level, msg
  end
end