Class: Precedence::FinishActivity
- Defined in:
- lib/precedence/activity.rb
Overview
A special activity which signifies the finish of a precedence network. It has a duration of 0 and is not allowed to have any post_activities. It’s reference will always be ‘finish’.
Constant Summary collapse
- REFERENCE =
Reference for the FinishActivity
'finish'
Constants inherited from Activity
Activity::DROP_START, Activity::EARLIEST_START, Activity::EXPECTED_DURATION, Activity::LATEST_START, Activity::MAXIMUM_DURATION, Activity::MEAN_DURATION, Activity::MINIMUM_DURATION
Instance Attribute Summary collapse
-
#expected_duration ⇒ Object
readonly
:nodoc:.
-
#maximum_duration ⇒ Object
readonly
:nodoc:.
-
#minimum_duration ⇒ Object
readonly
:nodoc:.
Attributes inherited from Activity
#description, #duration_type, #post_activities, #pre_activities, #reference, #resources, #start_type
Class Method Summary collapse
-
.from_yaml_object(yamlObj) ⇒ Object
:nodoc:.
Instance Method Summary collapse
-
#add_post_activities(*post_activities) ⇒ Object
:nodoc:.
-
#initialize(description = nil) ⇒ FinishActivity
constructor
Creates a new finish activity.
-
#register_post_activity(activity) ⇒ Object
:nodoc:.
Methods inherited from Activity
#active_during?, #active_on?, #add_pre_activities, #duration, #duration_range, #earliest_finish, #earliest_start, #early_float, #eql?, #finish, from_yaml, #inspect, #latest_finish, #latest_start, #mean_duration, #on_critical_path?, #remove_post_activities, #remove_pre_activities, #standard_deviation, #start, #to_a, #to_s, #to_yaml, #total_float, #variance
Constructor Details
#initialize(description = nil) ⇒ FinishActivity
Creates a new finish activity.
559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 |
# File 'lib/precedence/activity.rb', line 559 def initialize(description=nil) @reference = REFERENCE if (description.nil?) @description = @reference else @description = description.to_s end @expected_duration = 0 @minimum_duration = 0 @maximum_duration = 0 @post_activities = [] @pre_activities = [] @resources = {} @duration_type = EXPECTED_DURATION @start_type = EARLIEST_START end |
Instance Attribute Details
#expected_duration ⇒ Object (readonly)
:nodoc:
553 554 555 |
# File 'lib/precedence/activity.rb', line 553 def expected_duration @expected_duration end |
#maximum_duration ⇒ Object (readonly)
:nodoc:
553 554 555 |
# File 'lib/precedence/activity.rb', line 553 def maximum_duration @maximum_duration end |
#minimum_duration ⇒ Object (readonly)
:nodoc:
553 554 555 |
# File 'lib/precedence/activity.rb', line 553 def minimum_duration @minimum_duration end |
Class Method Details
.from_yaml_object(yamlObj) ⇒ Object
:nodoc:
577 578 579 580 581 582 583 584 585 586 587 588 589 |
# File 'lib/precedence/activity.rb', line 577 def self.from_yaml_object(yamlObj) #:nodoc: reference,activity = yamlObj.to_a[0] if (reference == REFERENCE) if (!activity.nil?) return Precedence::FinishActivity.new(activity['description']) else return Precedence::FinishActivity.new end else raise "A FinishActivity can only have a reference of '#{REFERENCE}'."+ " Given reference was '#{reference}'." end end |
Instance Method Details
#add_post_activities(*post_activities) ⇒ Object
:nodoc:
591 592 593 |
# File 'lib/precedence/activity.rb', line 591 def add_post_activities(*post_activities) #:nodoc: self end |
#register_post_activity(activity) ⇒ Object
:nodoc:
595 596 597 598 |
# File 'lib/precedence/activity.rb', line 595 def register_post_activity(activity) #:nodoc: raise "This activity can not be a pre-activity of any other "+ "activity." end |