class SequelTools::ActionsManager::Action
Attributes
arg_names[R]
block[R]
description[R]
name[R]
Public Class Methods
[](name)
click to toggle source
# File lib/sequel_tools/actions_manager.rb, line 72 def self.[](name) @@registered_by_name[name] end
new(name, description, arg_names: [], &block)
click to toggle source
# File lib/sequel_tools/actions_manager.rb, line 49 def initialize(name, description, arg_names: [], &block) @name, @description, @arg_names, @block = name, description, arg_names, block end
register(name, description, arg_names: [], &block)
click to toggle source
# File lib/sequel_tools/actions_manager.rb, line 60 def self.register(name, description, arg_names: [], &block) if @@registered_by_name[name] raise AlreadyRegisteredAction, "Attempt to register #{name} twice" end @@registered << (@@registered_by_name[name] = Action.new name, description, arg_names: arg_names, &block) end
register_action(action)
click to toggle source
# File lib/sequel_tools/actions_manager.rb, line 87 def self.register_action(action) register action.name, action.description, arg_names: action.arg_names, &action.block end
registered()
click to toggle source
# File lib/sequel_tools/actions_manager.rb, line 68 def self.registered @@registered end
replace(name, description, arg_names: [], &block)
click to toggle source
# File lib/sequel_tools/actions_manager.rb, line 82 def self.replace(name, description, arg_names: [], &block) unregister name register name, description, arg_names: arg_names, &block end
unregister(name)
click to toggle source
# File lib/sequel_tools/actions_manager.rb, line 76 def self.unregister(name) return unless action = @@registered_by_name.delete(name) @@registered.delete action action end
Public Instance Methods
run(args, context)
click to toggle source
# File lib/sequel_tools/actions_manager.rb, line 53 def run(args, context) @block.call args, context end