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