class Build::BuildNode

Attributes

arguments[R]
environment[R]
provision[R]

Public Class Methods

new(environment, provision, arguments) click to toggle source
Calls superclass method
# File lib/build/build_node.rb, line 28
def initialize(environment, provision, arguments)
        @environment = environment
        @provision = provision
        @arguments = arguments
        
        super(Files::List::NONE, :inherit)
end

Public Instance Methods

==(other) click to toggle source
Calls superclass method
# File lib/build/build_node.rb, line 40
def == other
        super and
                @environment == other.environment and
                @provision == other.provision and
                @arguments == other.arguments
end
apply!(task) click to toggle source
# File lib/build/build_node.rb, line 63
def apply!(task)
        output_environment = self.initial_environment
        
        output_environment.construct!(task, *@arguments, &@provision.value)
        
        task.output_environment = output_environment
end
hash() click to toggle source
Calls superclass method
# File lib/build/build_node.rb, line 47
def hash
        super ^ @environment.hash ^ @provision.hash ^ @arguments.hash
end
initial_environment() click to toggle source
# File lib/build/build_node.rb, line 55
def initial_environment
        Build::Environment.new(@environment)
end
name() click to toggle source
# File lib/build/build_node.rb, line 59
def name
        @environment.name
end
task_class(parent_task) click to toggle source
# File lib/build/build_node.rb, line 51
def task_class(parent_task)
        task_class = Rulebook.for(@environment).with(BuildTask, environment: @environment)
end