class CorosyncCommander::CallbackList

Public Class Methods

new() click to toggle source
# File lib/corosync_commander/callback_list.rb, line 4
def initialize
        @callbacks = {}
        @callbacks.extend(Sync_m)
end

Public Instance Methods

[](command) click to toggle source

Retrieve a registered command callback @param command [String] Name of command @return [Proc]

# File lib/corosync_commander/callback_list.rb, line 51
def [](command)
        @callbacks.synchronize(:SH) do
                @callbacks[command]
        end
end
[]=(command, block) click to toggle source

Assign a callback @example

cc.commands['my command'] = Proc.new do
  puts "Hello world!"
end

@param command [String] Name of command @param block [Proc] Proc to call when command is executed @return [Proc]

# File lib/corosync_commander/callback_list.rb, line 28
def []=(command, block)
        @callbacks.synchronize(:EX) do
                @callbacks[command] = block
        end
        block
end
delete(command) click to toggle source

Delete a command callback @param command [String] Name of command @return [Proc] The deleted command callback

# File lib/corosync_commander/callback_list.rb, line 60
def delete(command)
        @callbacks.synchronize(:EX) do
                @callbacks.delete(command)
        end
end
each(&block) click to toggle source

Iterate through each command/callback @yieldparam command [String] Name of command @yieldparam callback [Proc] Proc to be executed upon receiving command

# File lib/corosync_commander/callback_list.rb, line 12
def each(&block)
        callbacks = nil
        @callbacks.synchronize(:SH) do
                callbacks = @callbacks.dup
        end
        callbacks.each(&block)
end
register(command, &block) click to toggle source

Assign a callback This is another method of assigning a callback @example

cc.commands.register('my command') do
  puts "Hellow world!"
end

@param command [String] Name of command @param block [Proc] Proc to call when command is executed @return [Proc]

# File lib/corosync_commander/callback_list.rb, line 44
def register(command, &block)
        self[command] = block
end