Module: Roda::RodaPlugins::Static
- Defined in:
- lib/roda/plugins/static.rb
Overview
The static plugin loads the Rack::Static middleware into the application. It mainly exists to make serving static files simpler, by supplying defaults to Rack::Static that are appropriate for Roda.
The static plugin recognizes the application’s :root option, and by default sets the Rack::Static :root
option to the public
subfolder of the application’s :root
option. Additionally, if a relative path is provided as the :root option to the plugin, it will be considered relative to the application’s :root
option.
Since the :urls option for Rack::Static is always required, the static plugin uses a separate option for it.
Examples:
opts[:root] = '/path/to/app'
plugin :static, ['/js', '/css'] # path: /path/to/app/public
plugin :static, ['/images'], :root=>'pub' # path: /path/to/app/pub
plugin :static, ['/media'], :root=>'/path/to/public' # path: /path/to/public
Class Method Summary collapse
-
.configure(app, paths, opts = {}) ⇒ Object
Load the Rack::Static middleware.
Class Method Details
.configure(app, paths, opts = {}) ⇒ Object
Load the Rack::Static middleware. Use the paths given as the :urls option, and set the :root option to be relative to the application’s :root option.
28 29 30 31 32 33 |
# File 'lib/roda/plugins/static.rb', line 28 def self.configure(app, paths, opts={}) opts = opts.dup opts[:urls] = paths opts[:root] = File.(opts[:root]||"public", app.opts[:root]) app.use ::Rack::Static, opts end |