# File lib/sinatra/contrib/setup.rb, line 20 def autoload(name, path = nil, method = nil) path ||= "sinatra/#{name.to_s.underscore}" extensions[method] << name if method Sinatra.autoload(name, path) end
# File lib/sinatra/contrib/setup.rb, line 8 def extensions @extensions ||= {:helpers => [], :register => []} end
# File lib/sinatra/contrib/setup.rb, line 16 def helpers(name, path = nil) autoload name, path, :helpers end
# File lib/sinatra/contrib/setup.rb, line 12 def register(name, path = nil) autoload name, path, :register end
# File lib/sinatra/contrib/setup.rb, line 26 def registered(base) @extensions.each do |method, list| list = list.map { |name| Sinatra.const_get name } base.send(method, *list) unless base == ::Sinatra::Application end end