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



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!(plugin = nil) ⇒ Object



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

def require!(plugin=nil)
  require_all! and return unless plugin
  if plugin.library
    require plugin.library
  end
  begin
    include eval(plugin.module)
  rescue
  end
end

.require_all!Object



35
36
37
38
39
# File 'lib/auto/runner.rb', line 35

def require_all!
  Plugins.plugins.each do |plugin|
    require! plugin
  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