In #513, I proposed extension API for commands, but it doesn't cover all the extension needs. For example, Rails defines controller and helpers methods (and these methods too) for its Rails console, which are meant to be used as methods and be chained with other method calls. So they should not be treated as commands.
However, helper methods do share some common needs with commands, like:
- Feature discovery, e.g. can be listed in the result of
show_cmds (or help in the future)
- Proper registration API and documentation (instead of manually including a module)
So I think we should provide (perhaps similar) extension for helper methods to fulfill such needs.
Details
Using Rails' controller helper as example:
module IRB
module Helper
class Controller < Helper::Base
category "Rails"
description "Gets a new instance of a controller object."
def execute
@controller ||= ApplicationController.new
end
end
end
end
IRB::ExtendedCommandBundle.add_helper(:controller, IRB::Helper::Controller)
In #513, I proposed extension API for commands, but it doesn't cover all the extension needs. For example, Rails defines
controllerandhelpersmethods (and these methods too) for its Rails console, which are meant to be used as methods and be chained with other method calls. So they should not be treated as commands.However, helper methods do share some common needs with commands, like:
show_cmds(orhelpin the future)So I think we should provide (perhaps similar) extension for helper methods to fulfill such needs.
Details
Using Rails'
controllerhelper as example: