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