Sha256: 39a6bf35fd0f279692238dfd759fe72f4f54c89a296742ee5b433ec15aacdaaa
Contents?: true
Size: 1.39 KB
Versions: 1
Compression:
Stored size: 1.39 KB
Contents
# frozen-string-literal: true # class Roda module RodaPlugins # The partials plugin adds a +partial+ method, which renders # templates without the layout. # # plugin :partials, :views => 'path/2/views' # # Template files are prefixed with an underscore: # # partial('test') # uses _test.erb # partial('dir/test') # uses dir/_test.erb # # This is basically equivalent to: # # render('_test') # render('dir/_test') # # Note that this plugin automatically loads the :render plugin. module Partials OPTS = {}.freeze SLASH = '/'.freeze RodaPlugins.deprecate_constant(self, :SLASH) # Depend on the render plugin, since this overrides # some of its methods. def self.load_dependencies(app, opts=OPTS) app.plugin :render, opts end module InstanceMethods # Renders the given template without a layout, but # prefixes the template filename to use with an # underscore. def partial(template, opts=OPTS) opts = parse_template_opts(template, opts) if opts[:template] template = opts[:template].split('/') template[-1] = "_#{template[-1]}" opts[:template] = template.join('/') end render_template(opts) end end end register_plugin(:partials, Partials) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
roda-2.28.0 | lib/roda/plugins/partials.rb |