Class: Blender::Task::Base

Inherits:
Object
  • Object
show all
Includes:
Discovery
Defined in:
lib/blender/tasks/base.rb

Direct Known Subclasses

Ruby, Scp, ShellOut, Ssh

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Discovery

#build_discovery, #old_search, #search, #search_with_config

Methods included from Utils::Refinements

#camelcase, #symbolize

Constructor Details

#initialize(name, metadata = {}) ⇒ Base

Returns a new instance of Base.



31
32
33
34
35
36
37
38
# File 'lib/blender/tasks/base.rb', line 31

def initialize(name,  = {})
  @name = name
  @metadata = .merge()
  @hosts = []
  @command = name
  @driver = nil
  @driver_opts = {}
end

Instance Attribute Details

#commandObject (readonly)

Returns the value of attribute command.



28
29
30
# File 'lib/blender/tasks/base.rb', line 28

def command
  @command
end

#driverObject (readonly)

Returns the value of attribute driver.



27
28
29
# File 'lib/blender/tasks/base.rb', line 27

def driver
  @driver
end

#driver_optsObject (readonly)

Returns the value of attribute driver_opts.



29
30
31
# File 'lib/blender/tasks/base.rb', line 29

def driver_opts
  @driver_opts
end

#hostsObject (readonly)

Returns the value of attribute hosts.



26
27
28
# File 'lib/blender/tasks/base.rb', line 26

def hosts
  @hosts
end

#metadataObject (readonly)

Returns the value of attribute metadata.



24
25
26
# File 'lib/blender/tasks/base.rb', line 24

def 
  @metadata
end

#nameObject (readonly)

Returns the value of attribute name.



25
26
27
# File 'lib/blender/tasks/base.rb', line 25

def name
  @name
end

Instance Method Details

#add_metadata(opts = {}) ⇒ Object



60
61
62
63
64
# File 'lib/blender/tasks/base.rb', line 60

def (opts = {})
  opts.keys.each do |k|
    @metadata[k] = opts[k]
  end
end

#default_metadataObject



66
67
68
# File 'lib/blender/tasks/base.rb', line 66

def 
  { ignore_failure: false }
end

#driver_options(opts) ⇒ Object



48
49
50
# File 'lib/blender/tasks/base.rb', line 48

def driver_options(opts)
  @driver_opts =  opts
end

#execute(cmd) ⇒ Object



52
53
54
# File 'lib/blender/tasks/base.rb', line 52

def execute(cmd)
  @command = cmd
end

#ignore_failure(value) ⇒ Object



44
45
46
# File 'lib/blender/tasks/base.rb', line 44

def ignore_failure(value)
  @metadata[:ignore_failure] = value
end

#members(hosts) ⇒ Object



56
57
58
# File 'lib/blender/tasks/base.rb', line 56

def members(hosts)
  @hosts = hosts
end

#use_driver(driver) ⇒ Object



40
41
42
# File 'lib/blender/tasks/base.rb', line 40

def use_driver(driver)
  @driver = driver
end