Class: Auto::Runner

Inherits:
Object
  • Object
show all
Defined in:
lib/auto/runner.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(path_or_task = nil, &block) ⇒ Runner

Returns a new instance of Runner.



4
5
6
7
# File 'lib/auto/runner.rb', line 4

def initialize(path_or_task=nil, &block)
  self.class.require!
  run(path_or_task, &block)
end

Class Method Details

.require!Object



24
25
26
27
28
29
30
31
32
33
34
# File 'lib/auto/runner.rb', line 24

def require!
  Plugins.plugins.each do |plugin|
    if plugin.library
      require plugin.library
    end
    begin
      include eval(plugin.module)
    rescue
    end
  end
end

Instance Method Details

#run(path_or_task = nil, &block) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/auto/runner.rb', line 9

def run(path_or_task=nil, &block)
  self.instance_eval(&block) if block
  if path_or_task
    if File.exists?(path_or_task)
      @path = path_or_task
    elsif task = Plugins.tasks(path_or_task)
      @path = task[:path]
    end
    self.instance_eval(File.read(@path), @path) if @path
  end
  self
end