Class: MPXJ::Project
- Inherits:
-
Object
- Object
- MPXJ::Project
- Defined in:
- lib/mpxj/project.rb
Overview
Represents a project plan
Instance Attribute Summary collapse
-
#all_assignments ⇒ Object
readonly
Returns the value of attribute all_assignments.
-
#all_resources ⇒ Object
readonly
Returns the value of attribute all_resources.
-
#all_tasks ⇒ Object
readonly
Returns the value of attribute all_tasks.
-
#child_tasks ⇒ Object
readonly
Returns the value of attribute child_tasks.
-
#properties ⇒ Object
readonly
Returns the value of attribute properties.
-
#zone ⇒ Object
readonly
Returns the value of attribute zone.
Instance Method Summary collapse
-
#get_resource_by_id(id) ⇒ Resource?
Retrieves the resource with the matching id attribute.
-
#get_resource_by_unique_id(unique_id) ⇒ Resource?
Retrieves the resource with the matching unique_id attribute.
-
#get_task_by_id(id) ⇒ Task?
Retrieves the task with the matching id attribute.
-
#get_task_by_unique_id(unique_id) ⇒ Task?
Retrieves the task with the matching unique_id attribute.
-
#initialize(file_name, zone) ⇒ Project
constructor
A new instance of Project.
Constructor Details
#initialize(file_name, zone) ⇒ Project
Returns a new instance of Project.
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/mpxj/project.rb', line 13 def initialize(file_name, zone) @resources_by_unique_id = {} @tasks_by_unique_id = {} @resources_by_id = {} @tasks_by_id = {} @all_resources = [] @all_tasks = [] @all_assignments = [] @child_tasks = [] @zone = zone file = File.read(file_name) json_data = JSON.parse(file) process_properties(json_data) process_resources(json_data) process_tasks(json_data) process_assignments(json_data) end |
Instance Attribute Details
#all_assignments ⇒ Object (readonly)
Returns the value of attribute all_assignments.
10 11 12 |
# File 'lib/mpxj/project.rb', line 10 def all_assignments @all_assignments end |
#all_resources ⇒ Object (readonly)
Returns the value of attribute all_resources.
7 8 9 |
# File 'lib/mpxj/project.rb', line 7 def all_resources @all_resources end |
#all_tasks ⇒ Object (readonly)
Returns the value of attribute all_tasks.
8 9 10 |
# File 'lib/mpxj/project.rb', line 8 def all_tasks @all_tasks end |
#child_tasks ⇒ Object (readonly)
Returns the value of attribute child_tasks.
9 10 11 |
# File 'lib/mpxj/project.rb', line 9 def child_tasks @child_tasks end |
#properties ⇒ Object (readonly)
Returns the value of attribute properties.
6 7 8 |
# File 'lib/mpxj/project.rb', line 6 def properties @properties end |
#zone ⇒ Object (readonly)
Returns the value of attribute zone.
11 12 13 |
# File 'lib/mpxj/project.rb', line 11 def zone @zone end |
Instance Method Details
#get_resource_by_id(id) ⇒ Resource?
Retrieves the resource with the matching id attribute
58 59 60 |
# File 'lib/mpxj/project.rb', line 58 def get_resource_by_id(id) @resources_by_id[id] end |
#get_resource_by_unique_id(unique_id) ⇒ Resource?
Retrieves the resource with the matching unique_id attribute
40 41 42 |
# File 'lib/mpxj/project.rb', line 40 def get_resource_by_unique_id(unique_id) @resources_by_unique_id[unique_id] end |
#get_task_by_id(id) ⇒ Task?
Retrieves the task with the matching id attribute
67 68 69 |
# File 'lib/mpxj/project.rb', line 67 def get_task_by_id(id) @tasks_by_unique_id[id] end |
#get_task_by_unique_id(unique_id) ⇒ Task?
Retrieves the task with the matching unique_id attribute
49 50 51 |
# File 'lib/mpxj/project.rb', line 49 def get_task_by_unique_id(unique_id) @tasks_by_unique_id[unique_id] end |