Sha256: 25aa76183ecbb2ae1ce3836ae54702527c8a7c83b847c13479e28e1d3e4065ef

Contents?: true

Size: 837 Bytes

Versions: 11

Compression:

Stored size: 837 Bytes

Contents

# encoding: utf-8

require "rango/gv"
require "rango/mini"
require "rango/mixins/render"

module Rango
  extend Rango::RenderMixin
  module GV
    def self.static(template, locals = nil, &hook)
      Rango::Mini.app do |request, response|
        path = template || request.env["rango.router.params"][:template]
        path = hook.call(path) unless hook.nil?
        path = "#{path}.html" unless path.match(/\./)
        Rango.logger.debug("Rendering '#{path}'")
        # Rango::RenderMixin.context
        locals = locals.call(request) if locals.respond_to?(:call) # lambda { |request| {msg: request.message} }
        render path, locals
      end
    end

    # you would usually define module Static with instance method static for
    # including into controllers, but since controllers have render, it would be useless
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
rango-0.1.1.2.10 lib/rango/gv/static.rb
rango-0.1.1.2.9 lib/rango/gv/static.rb
rango-0.1.1.2.8 lib/rango/gv/static.rb
rango-0.1.1.2.7 lib/rango/gv/static.rb
rango-0.1.1.2.6 lib/rango/gv/static.rb
rango-0.1.1.2.5 lib/rango/gv/static.rb
rango-0.1.1.2.4 lib/rango/gv/static.rb
rango-0.1.1.2.3 lib/rango/gv/static.rb
rango-0.1.1.2.2 lib/rango/gv/static.rb
rango-0.1.1.2.1 lib/rango/gv/static.rb
rango-0.1.1.2 lib/rango/gv/static.rb