module Roda::RodaPlugins::Base::ClassMethods

def def_roda_before

the route block if a _roda_before method is defined.
in order, if any _roda_before_* methods are defined. Also, rebuild
Build a _roda_before method that calls each _roda_before_* method
def def_roda_before
  meths = private_instance_methods.grep(/\A_roda_before_\d\d/).sort
  unless meths.empty?
    plugin :_before_hook unless private_method_defined?(:_roda_before)
    if meths.length == 1
      class_eval("alias _roda_before #{meths.first}", __FILE__, __LINE__)
    else
      class_eval("def _roda_before; #{meths.join(';')} end", __FILE__, __LINE__)
    end
    private :_roda_before
    alias_method :_roda_before, :_roda_before
  end
end