There are two methods that do what you’re looking for.
Object.methods returns a list of all the class methods,
Module.instance_methods returns a list of all the instance methods.
What you’re looking for are the instance methods of your controller,
without anything that belong to the superclass (ApplicationController).
As such, try this (you might be able to stick it in
ApplicationController and still work, haven’t actually tried it):
start with all my methods
# remove my superclass’s methods
# manually remove anything else I don’t want showing up
this method should be overridden by the concrete controllers,
and list anything you don’t want showing up.
Also good to list any methods of mixins, like a login generator
Do note that the method names returned from non_action_methods should be
strings, not symbols.