class Dynflow::Coordinator::LockByWorld

Public Class Methods

inherited(klass) click to toggle source
# File lib/dynflow/coordinator.rb, line 174
def self.inherited(klass)
  valid_classes << klass
end
lock_id(*args) click to toggle source
# File lib/dynflow/coordinator.rb, line 149
def self.lock_id(*args)
  raise NoMethodError
end
new(world) click to toggle source
Calls superclass method Dynflow::Coordinator::Record.new
# File lib/dynflow/coordinator.rb, line 143
def initialize(world)
  super
  @world = world
  @data.merge!(owner_id: "world:#{world.id}", world_id: world.id)
end
unique_filter(*args) click to toggle source
# File lib/dynflow/coordinator.rb, line 153
def self.unique_filter(*args)
  { :class => self.name, :id => lock_id(*args) }
end
valid_classes() click to toggle source
# File lib/dynflow/coordinator.rb, line 170
def self.valid_classes
  @valid_classes ||= []
end
valid_owner_ids(coordinator) click to toggle source
# File lib/dynflow/coordinator.rb, line 166
def self.valid_owner_ids(coordinator)
  coordinator.find_worlds.map { |w| "world:#{w.id}" }
end

Public Instance Methods

validate!() click to toggle source
Calls superclass method Dynflow::Coordinator::Lock#validate!
# File lib/dynflow/coordinator.rb, line 157
def validate!
  super
  raise Errors::InactiveWorldError.new(@world) if @world.terminating?
end
world_id() click to toggle source
# File lib/dynflow/coordinator.rb, line 162
def world_id
  @data[:world_id]
end