class Nimble::Main

Attributes

routes[RW]

Public Class Methods

call(env) click to toggle source
# File lib/nimble_framework.rb, line 49
def call(env)
  @request = Rack::Request.new(env)
  block = @@routes[@request.request_method][@request.path_info]
  if block
    @params = @request.params
    @response = Rack::Response.new
    @response.body = [block.call]
    @response.header ||= {}
    @response.status ||= 200
    @response.finish
  else
    [404, {}, ["Page not found"]]
  end
end
delete(route, &block) click to toggle source
# File lib/nimble_framework.rb, line 25
def delete(route, &block)
  @@routes['DELETE'][route] = block
end
erb(view_name, locals = {}) click to toggle source
# File lib/nimble_framework.rb, line 29
def erb(view_name, locals = {})
  path = ::File.join("views", "#{view_name.to_s}.html.erb")
  template = Tilt.new(path)
  template.render(nil, locals)
end
get(route, &block) click to toggle source
# File lib/nimble_framework.rb, line 13
def get(route, &block)
  @@routes['GET'][route] = block
end
params() click to toggle source
# File lib/nimble_framework.rb, line 39
def params
  @params
end
post(route, &block) click to toggle source
# File lib/nimble_framework.rb, line 17
def post(route, &block)
  @@routes['POST'][route] = block
end
put(route, &block) click to toggle source
# File lib/nimble_framework.rb, line 21
def put(route, &block)
  @@routes['PUT'][route] = block
end
redirect_to(path) click to toggle source
# File lib/nimble_framework.rb, line 43
def redirect_to(path)
  @response['Location'] = path
  @response.status = 303
  "Redirect!"
end
session() click to toggle source
# File lib/nimble_framework.rb, line 35
def session
  @request.session
end