2020年9月29日火曜日

Sinatra の map を使ってルーティングを定義する方法

概要

Sinatra でルーティングを定義する際にはいろいろな方法があります
過去に Rack::URLMap を使って定義する方法を紹介しました
今回は map を使って定義する方法を紹介します

環境

  • macOS 10.15.6
  • Ruby 2.7.1p83
    • sinatra 2.0.7

app.rb

require 'sinatra/base'

class MyApp < Sinatra::Base
  get '/test' do
    'test'
  end
end

class MyApp2 < Sinatra::Base
  get '/test2' do
    'test2'
  end
end

config.ru

require './app'

map('/') do
  use MyApp
  run MyApp2
end

Rack の run は 1 度しか呼べないので別のアプリケーションを読み込む場合は use を使います

最後に

app.rb で定義するアプリケーションのサブルーティングの定義をもう少しキレイに管理する方法はないだろうか

0 件のコメント:

コメントを投稿