Class: Burke::TaskDefinition
Constant Summary collapse
- ALL =
{}
Instance Attribute Summary collapse
-
#block ⇒ Object
readonly
Returns the value of attribute block.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#prerequisites ⇒ Object
readonly
Returns the value of attribute prerequisites.
Instance Method Summary collapse
- #execute(s) ⇒ Object
- #execute_prerequisites(s) ⇒ Object
-
#initialize(*args, &block) ⇒ TaskDefinition
constructor
A new instance of TaskDefinition.
Constructor Details
#initialize(*args, &block) ⇒ TaskDefinition
Returns a new instance of TaskDefinition.
15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/burke.rb', line 15 def initialize *args, &block a1, a2 = *args name = nil prereqs = nil if a1.is_a? Hash name, prereqs = *a1.entries[0] else name, prereqs = a1, a2 end @name = String(name) @prerequisites = [*prereqs].compact.map {|e| String(e)} @block = block ALL[@name] = self end |
Instance Attribute Details
#block ⇒ Object (readonly)
Returns the value of attribute block.
13 14 15 |
# File 'lib/burke.rb', line 13 def block @block end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
13 14 15 |
# File 'lib/burke.rb', line 13 def name @name end |
#prerequisites ⇒ Object (readonly)
Returns the value of attribute prerequisites.
13 14 15 |
# File 'lib/burke.rb', line 13 def prerequisites @prerequisites end |
Instance Method Details
#execute(s) ⇒ Object
30 31 32 33 34 35 36 |
# File 'lib/burke.rb', line 30 def execute(s) unless @executed execute_prerequisites(s) @block.call(s) @executed = true end end |