module Aerogel::Routes

Public Class Methods

registered(app) click to toggle source
# File lib/aerogel/core/routes.rb, line 6
def self.registered(app)
  reset!(app)
  # load routes
  Aerogel.get_reverse_resource_list( :app, "routes/**/*.rb" ).each do |filename|
    Aerogel.require_into( Aerogel::Application, filename )
  end

  # register reloader
  setup_reloader(app) if Aerogel.config.aerogel.reloader?
end

Private Class Methods

reset!(app) click to toggle source

Resets items defined in app/routes/*.

# File lib/aerogel/core/routes.rb, line 38
def self.reset!(app)
  app.reset_routes!
end
setup_reloader(app) click to toggle source

Sets up reloader for routes.

# File lib/aerogel/core/routes.rb, line 44
def self.setup_reloader(app)
  app.use Aerogel::Reloader,
    ->{ Aerogel.get_reverse_resource_list( :app, "routes/**/*.rb" ) },
    group: :routes do |files|
    # reset routes
    reset!(app)
    files.each do |filename|
      Aerogel.require_into( Aerogel::Application, filename )
    end
  end
end

Public Instance Methods

namespace( path, *args, &block ) click to toggle source

Starts a new route namespace:

get ‘/bar’ do

# matches '/bar' route

end

namespace ‘/foo’ do

get '/bar' do
  # matches '/foo/bar' route
end

end

# File lib/aerogel/core/routes.rb, line 30
def namespace( path, *args, &block )
  Namespace.new self, path, &block
end