Module: DSLTasks

Defined in:
lib/dsltasks/version.rb,
lib/dsltasks/dsltasks.rb

Defined Under Namespace

Modules: TaskMixin Classes: DSLTaskContext, Task

Constant Summary collapse

VERSION =
"0.1.2"

Class Method Summary collapse

Class Method Details

.start(opts = nil) ⇒ Object



137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
# File 'lib/dsltasks/dsltasks.rb', line 137

def start(opts=nil)
  lib_dirs = opts[:lib_dirs] || []
  file = opts[:main]
  if File.exist?(file)
    file = File.expand_path(file)
    context = DSLTaskContext.new(file, lib_dirs)
    (opts[:instance_variables]||{}).each do |var, value|
      unless var.to_s.start_with?('@')
        var = ('@' + var.to_s)
      end
      context.instance_variable_set(var.to_sym, value)
    end
    return context.execute(file, opts[:libs])
  else
    raise "File not found: #{file}"
  end
end

.task_stack(root) ⇒ Object



131
132
133
134
# File 'lib/dsltasks/dsltasks.rb', line 131

def task_stack(root)
  @task_stacks ||= Hash.new {|h,k| h[k] = []}
  return @task_stacks[root]
end