class Dependency
Constants
- DESCRIPTION_TYPE_WIDTH
Attributes
name[R]
Public Class Methods
new(name)
click to toggle source
# File lib/dependency.rb, line 14 def initialize(name) @name = name end
Public Instance Methods
always_act?()
click to toggle source
if true, this type of resource must always have `meet` and `unmeet` called; useful for resources that can't easily be checked to see if they're met
# File lib/dependency.rb, line 40 def always_act? false end
exit_code()
click to toggle source
# File lib/dependency.rb, line 56 def exit_code @executor&.exit_code end
meet()
click to toggle source
# File lib/dependency.rb, line 22 def meet raise NotImplementedError end
met?()
click to toggle source
# File lib/dependency.rb, line 18 def met? raise NotImplementedError end
output()
click to toggle source
# File lib/dependency.rb, line 52 def output @executor&.output end
should_meet?()
click to toggle source
should_meet? can be used to implement dependencies that should only be met on some platforms, e.g. brew on Macs and apt on Linux it can be used to base a decision on anything else that can be read from the environment at runtime
# File lib/dependency.rb, line 34 def should_meet? true end
success?()
click to toggle source
# File lib/dependency.rb, line 48 def success? @executor.nil? ? true : @executor.success? end
type()
click to toggle source
# File lib/dependency.rb, line 44 def type self.class.name.split('::').last end
unmeet()
click to toggle source
# File lib/dependency.rb, line 26 def unmeet raise NotImplementedError end
Private Instance Methods
execute(cmd)
click to toggle source
# File lib/dependency.rb, line 62 def execute(cmd) @executor = Executor.new(cmd) @executor.execute @executor.success? end