Class: Precedence::FinishActivity

Inherits:
Activity
  • Object
show all
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

Attributes inherited from Activity

#description, #duration_type, #post_activities, #pre_activities, #reference, #resources, #start_type

Class Method Summary collapse

Instance Method Summary collapse

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_durationObject (readonly)

:nodoc:



553
554
555
# File 'lib/precedence/activity.rb', line 553

def expected_duration
  @expected_duration
end

#maximum_durationObject (readonly)

:nodoc:



553
554
555
# File 'lib/precedence/activity.rb', line 553

def maximum_duration
  @maximum_duration
end

#minimum_durationObject (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