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