The empty_root plugin makes r.root match both on / and on the empty string. This is mostly useful when using multiple rack applications, where the initial PATH_INFO has been moved to SCRIPT_NAME. For example, if you have the following applications:
class App1 < Roda on "albums" do run App2 end end class App2 < Roda plugin :empty_root route do |r| r.root do "root" end end end
Then requests for both /albums/ and /albums will return “root”. Without this plugin loaded into App2, only requests for /albums/ will return “root”, since by default, r.root matches only when the current PATH_INFO is / and not when it is empty.