Sha256: 715adf2ed0065fd94231fcbde50acb10046275328257fe89c57daef86cfeeda0
Contents?: true
Size: 969 Bytes
Versions: 5
Compression:
Stored size: 969 Bytes
Contents
require "hmote" class Tynn module HMote def self.setup(app, options = {}) # :nodoc: app.set(:layout, options.fetch(:layout, "layout")) app.set(:views, options.fetch(:views, File.expand_path("views", Dir.pwd))) end module InstanceMethods include ::HMote::Helpers def render(template, locals = {}, layout = self.class.settings[:layout]) res.headers[Rack::CONTENT_TYPE] ||= Syro::Response::DEFAULT res.write(view(template, locals, layout)) end def view(template, locals = {}, layout = self.class.settings[:layout]) return partial(layout, locals.merge(content: partial(template, locals))) end def partial(template, locals = {}) return hmote(template_path(template), locals.merge(app: self), TOPLEVEL_BINDING) end private def template_path(template) return File.join(self.class.settings[:views], "#{ template }.mote") end end end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
tynn-1.4.0 | lib/tynn/hmote.rb |
tynn-1.3.0 | lib/tynn/hmote.rb |
tynn-1.2.0 | lib/tynn/hmote.rb |
tynn-1.1.0 | lib/tynn/hmote.rb |
tynn-1.0.0 | lib/tynn/hmote.rb |