Class: Precedence::StartActivity

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

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

:nodoc:



500
501
502
# File 'lib/precedence/activity.rb', line 500

def expected_duration
  @expected_duration
end

#maximum_durationObject (readonly)

:nodoc:



500
501
502
# File 'lib/precedence/activity.rb', line 500

def maximum_duration
  @maximum_duration
end

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