Class: RightScale::BundleQueue

Inherits:
Object
  • Object
show all
Defined in:
lib/instance/bundle_queue.rb

Overview

Abstract base class for a Bundle Queue.

Constant Summary collapse

FINAL_BUNDLE =
'end'
SHUTDOWN_BUNDLE =
'shutdown'

Instance Method Summary collapse

Constructor Details

#initialize(&continuation) ⇒ BundleQueue

Set continuation block to be called after ‘close’ is called

Block

continuation block



35
36
37
# File 'lib/instance/bundle_queue.rb', line 35

def initialize(&continuation)
  @continuation = continuation
end

Instance Method Details

#activateObject

Activate queue for execution, idempotent Any pending bundle will be run sequentially in order

Return

true

Always return true

Raises:

  • (NotImplementedError)


52
53
54
# File 'lib/instance/bundle_queue.rb', line 52

def activate
  raise NotImplementedError.new("must be overridden")
end

#active?Boolean

Determines if queue is active

Return

active(Boolean)

true if queue is active

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


43
44
45
# File 'lib/instance/bundle_queue.rb', line 43

def active?
  raise NotImplementedError.new("must be overridden")
end

#busy?Boolean

Determines if queue is busy

Return

active(Boolean)

true if queue is busy

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


60
61
62
# File 'lib/instance/bundle_queue.rb', line 60

def busy?
  raise NotImplementedError.new("must be overridden")
end

#clearObject

Clear queue content

Return

true

Always return true

Raises:

  • (NotImplementedError)


79
80
81
# File 'lib/instance/bundle_queue.rb', line 79

def clear
  raise NotImplementedError.new("must be overridden")
end

#closeObject

Close queue so that further call to ‘push’ will be ignored

Return

true

Always return true

Raises:

  • (NotImplementedError)


87
88
89
# File 'lib/instance/bundle_queue.rb', line 87

def close
  raise NotImplementedError.new("must be overridden")
end

#push(context) ⇒ Object

Push new context to bundle queue and run next bundle

Parameters

context(Object)

any supported kind of context

Return

true

Always return true

Raises:

  • (NotImplementedError)


71
72
73
# File 'lib/instance/bundle_queue.rb', line 71

def push(context)
  raise NotImplementedError.new("must be overridden")
end