class Spire::MainController
Attributes
buffer[RW]
request[R]
Public Class Methods
new(request, app_root)
click to toggle source
# File lib/spire/class/MainController.rb, line 10 def initialize(request, app_root) @buffer = Buffer.new @request = request @app_root = app_root end
Public Instance Methods
get_buffer()
click to toggle source
# File lib/spire/class/MainController.rb, line 16 def get_buffer @buffer.data end
render(opts={})
click to toggle source
# File lib/spire/class/MainController.rb, line 20 def render(opts={}) instance_vars = {} instance_variables.each do |var| instance_vars[var] = instance_variable_get(var) end if opts[:text] @buffer.append(opts[:text]) end if opts[:view] file_path = @app_root + "/views/#{opts[:view]}" return 404 unless File.exists?(file_path) contents = IO.read(file_path) extension = File.extname(file_path) case extension when '.haml' require 'haml' insert = Haml::Engine.new(contents).render(Object.new, instance_vars) when '.rhtml' require 'erubis' eruby = Erubis::Eruby.new(contents) insert = eruby.result(instance_vars) else return false end @buffer.append(insert) end return nil end