Class: Precedence::StartActivity
- Defined in:
- lib/precedence/activity.rb
Overview
A special activity which signifies the start of a precedence network. It has a duration of 0 and is not allowed to have any pre_activities. It’s reference will always be ‘start’.
Constant Summary collapse
- REFERENCE =
Reference for the StartActivity
'start'
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_pre_activities(*pre_activities) ⇒ Object
:nodoc:.
-
#initialize(description = nil) ⇒ StartActivity
constructor
Creates a new start activity.
-
#register_pre_activity(activity) ⇒ Object
:nodoc:.
Methods inherited from Activity
#active_during?, #active_on?, #add_post_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) ⇒ StartActivity
Creates a new start activity.
506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 |
# File 'lib/precedence/activity.rb', line 506 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:
500 501 502 |
# File 'lib/precedence/activity.rb', line 500 def expected_duration @expected_duration end |
#maximum_duration ⇒ Object (readonly)
:nodoc:
500 501 502 |
# File 'lib/precedence/activity.rb', line 500 def maximum_duration @maximum_duration end |
#minimum_duration ⇒ Object (readonly)
:nodoc:
500 501 502 |
# File 'lib/precedence/activity.rb', line 500 def minimum_duration @minimum_duration end |
Class Method Details
.from_yaml_object(yamlObj) ⇒ Object
:nodoc:
524 525 526 527 528 529 530 531 532 533 534 535 536 |
# File 'lib/precedence/activity.rb', line 524 def self.from_yaml_object(yamlObj) #:nodoc: reference,activity = yamlObj.to_a[0] if (reference == REFERENCE) if (!activity.nil?) return Precedence::StartActivity.new(activity['description']) else return Precedence::StartActivity.new end else raise("A StartActivity can only have a reference of '#{REFERENCE}'."+ " Given reference was '#{reference}'.") end end |
Instance Method Details
#add_pre_activities(*pre_activities) ⇒ Object
:nodoc:
538 539 540 |
# File 'lib/precedence/activity.rb', line 538 def add_pre_activities(*pre_activities) #:nodoc: self end |
#register_pre_activity(activity) ⇒ Object
:nodoc:
542 543 544 545 |
# File 'lib/precedence/activity.rb', line 542 def register_pre_activity(activity) #:nodoc: raise "This activity can not be a post-activity of any other "+ "activity." end |