Sha256: 7c3b3f7a2f4bc52081970ed19b68a9f048dec71bc08283fbb65963057b847225
Contents?: true
Size: 1.28 KB
Versions: 3
Compression:
Stored size: 1.28 KB
Contents
module MPXJ # Represents a task in a project plan class Task < Container include MPXJ::TaskMethods attr_reader :assignments attr_reader :predecessors attr_reader :successors attr_reader :child_tasks def initialize(parent_project, attribute_values) super(parent_project, attribute_values) @assignments = [] @child_tasks = [] process_relations process_hierarchy end # Retrieve the parent task of this task # # @return [Task] if this task is the child of another task # @return [nil] if this is the root task def parent_task parent_project.get_task_by_unique_id(parent_task_unique_id) end private def process_relations @predecessors = process_relation_list(attribute_values["predecessors"]) @successors = process_relation_list(attribute_values["successors"]) end def process_relation_list(list) result = [] if list list.each do |attribute_values| result << Relation.new(self, attribute_values) end end result end def process_hierarchy if parent_task parent_task.child_tasks << self else parent_project.child_tasks << self end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
mpxj-9.5.2 | lib/mpxj/task.rb |
mpxj-9.5.1 | lib/mpxj/task.rb |
mpxj-9.5.0 | lib/mpxj/task.rb |