module Render::Style
Style
uses Tilt to render and serve stylesheets @author Bryan T. Meyers
Public Class Methods
configure(conf)
click to toggle source
Configure styles @param [Hash] conf the raw configuration @return [Hash] post-processed configuration
# File lib/app/render/style.rb, line 27 def self.configure(conf) conf['styles'].each do |k, v| conf['styles'][k] = Tilt.new(v, 1).render end conf end
do_read_all(context)
click to toggle source
Render
a stylesheet to CSS @param [Hash] context the context for this request @return [Response] a Rack Response triplet, or status code
# File lib/app/render/style.rb, line 37 def self.do_read_all(context) template = context.config['styles'][context.resource] headers = { 'Cache-Control' => 'public,max-age=3600' } if template headers['Content-Type'] = 'text/css' [200, headers, [template]] else 404 end end
invoke(actions, context)
click to toggle source
Proxy method used when routing @param [Array] actions the allowed actions for this URI @param [Hash] context the context for this request @return [Response] a Rack Response triplet, or status code
# File lib/app/render/style.rb, line 52 def self.invoke(actions, context) case context.action when :read do_read_all(context) else 403 end end