Class: Flatrack::Response

Inherits:
Object
  • Object
show all
Defined in:
lib/flatrack/response.rb

Overview

Handles flatrack responses

Constant Summary collapse

DEFAULT_FILE =
'index'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(request) ⇒ Response

Initializes a response

Parameters:



13
14
15
# File 'lib/flatrack/response.rb', line 13

def initialize(request)
  @request = request
end

Instance Attribute Details

#layoutObject

Returns the value of attribute layout.



7
8
9
# File 'lib/flatrack/response.rb', line 7

def layout
  @layout
end

#requestObject (readonly)

Returns the value of attribute request.



8
9
10
# File 'lib/flatrack/response.rb', line 8

def request
  @request
end

Instance Method Details

#render(file: file_for(request.path), status: 200, layout: :layout) ⇒ Array

Renders a response

Parameters:

  • opts (Hash)

Returns:

  • (Array)

    the rack response



23
24
25
26
27
28
29
30
31
32
# File 'lib/flatrack/response.rb', line 23

def render(file: file_for(request.path), status: 200, layout: :layout)
  @file, @status, @layout = file, status, layout
  page_content            = pre_render_page
  body << begin
    renderer_for_layout(@layout).render view, &proc { page_content }
  rescue Flatrack::FileNotFound
    page_content
  end
  [status, headers, body]
end

#use_layout(layout) ⇒ String

Set the layout

Parameters:

  • layout (String)

Returns:

  • (String)


37
38
39
# File 'lib/flatrack/response.rb', line 37

def use_layout(layout)
  @layout = layout.to_s
end