Sha256: 319a329fd1f0bd12dc5eb09a5dfe21c82c6762036a864d84c67f2719a9ae238c

Contents?: true

Size: 1.03 KB

Versions: 4

Compression:

Stored size: 1.03 KB

Contents

require 'sinatra/base'
require 'sinatra_more'
require 'haml'

class RoutingDemo < Sinatra::Base
  register Sinatra::RoutingPlugin

  configure do
    set :root, File.dirname(__FILE__)
  end

  map(:admin, :show).to("/admin/:id/show")
  map :admin do |namespace|
    namespace.map(:update).to("/admin/:id/update/:name")
    namespace.map(:destroy).to("/admin/:id/destroy")
  end
  map(:account).to("/the/accounts/:name/path/:id/end")
  map(:accounts).to("/the/accounts/index/?")
  
  namespace :admin do
    get :show do
      "<p>admin show for id #{params[:id]}</p>"
    end
    
    get :update do
      "<p>updated admin with id #{params[:id]} and name #{params[:name]}</p>"
    end
    
    get :destroy do
      "<p>destroy admin with id #{params[:id]}</p>"
    end
  end
  get :account do
    "<h1>the account url for #{params[:name]} and id #{params[:id]}</h1>"
  end
  
  get :accounts do
    "<h1>the accounts index</h1>"
  end
  
  get '/links' do
    haml :index
  end
  
  get '/failed_route' do
    url_for(:some, :not_real, :id => 5)
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
darkhelmet-sinatra_more-0.3.36 test/fixtures/routing_app/app.rb
darkhelmet-sinatra_more-0.3.35 test/fixtures/routing_app/app.rb
darkhelmet-sinatra_more-0.3.34 test/fixtures/routing_app/app.rb
darkhelmet-sinatra_more-0.3.33 test/fixtures/routing_app/app.rb