Module: Jets::Commands::Call
- Defined in:
- lib/jets/commands/call/base_guesser.rb,
lib/jets/commands/call/anonymous_guesser.rb,
lib/jets/commands/call/autoload_guesser.rb,
lib/jets/commands/call/guesser.rb,
lib/jets/commands/call/caller.rb
Overview
Guesser transforms the user provided function name to the actual lambda function name.
Allow for variety of different inputs to work: Simple:
admin/pages_controller-index => admin-pages_controller-index
admin-pages_controller-index => admin-pages_controller-index
Complex, requires detecting the right class name:
admin/-list_all
admin--pages-controller-list-all
All still result in: admin-related_pages_controller-index
The detection process follows. Given worse case:
admin--pages-controller-list-all
Know that the action comes after controller, try:
AdminRelatedPagesController
Admin::RelatedPagesController <= found stop guessing
admin/related_pages_controller <= underscored admin/related_pages_controller-list_all <= add action back on admin-related_pages_controller-list_all <= gsub / - DONE
Now we’re at a point where we can start guessing function_name = detect_function_name(function_name)
Defined Under Namespace
Classes: AnonymousGuesser, AutoloadGuesser, BaseGuesser, Caller, Guesser