Class: Build::RuleNode
- Inherits:
-
Graph::Node
- Object
- Graph::Node
- Build::RuleNode
- Defined in:
- lib/build/rule_node.rb
Instance Attribute Summary collapse
-
#arguments ⇒ Object
readonly
Returns the value of attribute arguments.
-
#callback ⇒ Object
readonly
Returns the value of attribute callback.
-
#rule ⇒ Object
readonly
Returns the value of attribute rule.
Instance Method Summary collapse
- #apply!(scope) ⇒ Object
-
#initialize(rule, arguments, &block) ⇒ RuleNode
constructor
A new instance of RuleNode.
- #inspect ⇒ Object
- #name ⇒ Object
Constructor Details
#initialize(rule, arguments, &block) ⇒ RuleNode
Returns a new instance of RuleNode.
25 26 27 28 29 30 31 32 33 34 |
# File 'lib/build/rule_node.rb', line 25 def initialize(rule, arguments, &block) @arguments = arguments @rule = rule @callback = block inputs, outputs = @rule.files(@arguments) super(inputs, outputs, @rule) end |
Instance Attribute Details
#arguments ⇒ Object (readonly)
Returns the value of attribute arguments.
36 37 38 |
# File 'lib/build/rule_node.rb', line 36 def arguments @arguments end |
#callback ⇒ Object (readonly)
Returns the value of attribute callback.
38 39 40 |
# File 'lib/build/rule_node.rb', line 38 def callback @callback end |
#rule ⇒ Object (readonly)
Returns the value of attribute rule.
37 38 39 |
# File 'lib/build/rule_node.rb', line 37 def rule @rule end |
Instance Method Details
#apply!(scope) ⇒ Object
44 45 46 47 48 49 50 |
# File 'lib/build/rule_node.rb', line 44 def apply!(scope) @rule.apply!(scope, @arguments) if @callback scope.instance_exec(@arguments, &@callback) end end |
#inspect ⇒ Object
52 53 54 |
# File 'lib/build/rule_node.rb', line 52 def inspect @rule.name.inspect end |
#name ⇒ Object
40 41 42 |
# File 'lib/build/rule_node.rb', line 40 def name @rule.name end |