class Rollerskates::BaseController
Public Class Methods
new(request)
click to toggle source
# File lib/rollerskates/base_controller.rb, line 6 def initialize(request) @request ||= request end
Public Instance Methods
controller_name()
click to toggle source
# File lib/rollerskates/base_controller.rb, line 48 def controller_name self.class.to_s.gsub(/Controller$/, "").snakize end
finish(method_name, _status = nil)
click to toggle source
# File lib/rollerskates/base_controller.rb, line 43 def finish(method_name, _status = nil) render(method_name, {}) unless get_response get_response end
get_response()
click to toggle source
# File lib/rollerskates/base_controller.rb, line 26 def get_response @response end
headers()
click to toggle source
# File lib/rollerskates/base_controller.rb, line 10 def headers { "Content-type" => "text/html" } end
params()
click to toggle source
# File lib/rollerskates/base_controller.rb, line 22 def params @request.params end
redirect_to(path, status)
click to toggle source
# File lib/rollerskates/base_controller.rb, line 18 def redirect_to(path, status) response([], status[:status], "Location" => path) end
render(*args)
click to toggle source
# File lib/rollerskates/base_controller.rb, line 30 def render(*args) response(render_template(*args)) end
render_template(view_name, _locals = {})
click to toggle source
# File lib/rollerskates/base_controller.rb, line 34 def render_template(view_name, _locals = {}) views_folder = [APP_ROOT, "app", "views"].join("/") file_name = File.join(views_folder, controller_name, "#{view_name}.erb") layout_name = File.join(views_folder, "layouts", "application.erb") layout = Tilt.new(layout_name) template = Tilt.new(file_name) layout.render(self) { template.render(self) } end
response(body = [], status = 200, header = headers)
click to toggle source
# File lib/rollerskates/base_controller.rb, line 14 def response(body = [], status = 200, header = headers) @response = Rack::Response.new(body, status, header) end