Module: Dk::Task::InstanceMethods

Defined in:
lib/dk/task.rb

Instance Method Summary collapse

Instance Method Details

#==(other_task) ⇒ Object



56
57
58
# File 'lib/dk/task.rb', line 56

def ==(other_task)
  self.class == other_task.class
end

#dk_dsl_ssh_hostsObject



52
53
54
# File 'lib/dk/task.rb', line 52

def dk_dsl_ssh_hosts
  @dk_dsl_ssh_hosts ||= self.instance_eval(&self.class.ssh_hosts)
end

#dk_runObject



32
33
34
35
36
37
38
# File 'lib/dk/task.rb', line 32

def dk_run
  self.dk_run_callbacks 'before'
  @dk_runner.log_task_run(self.class) do
    catch(:halt){ self.run! }
  end
  self.dk_run_callbacks 'after'
end

#dk_run_callbacks(named) ⇒ Object



44
45
46
47
48
49
50
# File 'lib/dk/task.rb', line 44

def dk_run_callbacks(named)
  callbacks = CallbackSet.new
  callbacks.add_callbacks(@dk_runner.task_callbacks("prepend_#{named}", self.class))
  callbacks.add_callbacks(self.class.send("#{named}_callbacks") || [])
  callbacks.add_callbacks(@dk_runner.task_callbacks(named, self.class))
  callbacks.each{ |c| run_task(c.task_class, c.params) }
end

#initialize(runner, params = nil) ⇒ Object



25
26
27
28
29
30
# File 'lib/dk/task.rb', line 25

def initialize(runner, params = nil)
  params ||= {}
  @dk_runner = runner
  @dk_params = ParamsHash.new{ |h, k| @dk_runner.params[k] }
  @dk_params.merge!(params)
end

#run!Object

Raises:

  • (NotImplementedError)


40
41
42
# File 'lib/dk/task.rb', line 40

def run!
  raise NotImplementedError
end