Class: Butterfly::Response
- Inherits:
-
Object
- Object
- Butterfly::Response
- Defined in:
- lib/butterfly/response.rb
Instance Attribute Summary collapse
-
#body ⇒ Object
readonly
Returns the value of attribute body.
-
#headers ⇒ Object
readonly
Returns the value of attribute headers.
-
#request ⇒ Object
readonly
Returns the value of attribute request.
-
#status ⇒ Object
readonly
Returns the value of attribute status.
Instance Method Summary collapse
- #add_header(k, v) ⇒ Object
- #choose_response_type ⇒ Object
- #fail! ⇒ Object
-
#initialize(req, b = nil) ⇒ Response
constructor
A new instance of Response.
- #prepare_body ⇒ Object
- #prepare_headers ⇒ Object
- #return!(b) ⇒ Object
- #success! ⇒ Object
Constructor Details
#initialize(req, b = nil) ⇒ Response
Returns a new instance of Response.
7 8 9 10 11 |
# File 'lib/butterfly/response.rb', line 7 def initialize req, b=nil @request = req @headers = {} @body = b end |
Instance Attribute Details
#body ⇒ Object (readonly)
Returns the value of attribute body.
5 6 7 |
# File 'lib/butterfly/response.rb', line 5 def body @body end |
#headers ⇒ Object (readonly)
Returns the value of attribute headers.
5 6 7 |
# File 'lib/butterfly/response.rb', line 5 def headers @headers end |
#request ⇒ Object (readonly)
Returns the value of attribute request.
5 6 7 |
# File 'lib/butterfly/response.rb', line 5 def request @request end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
5 6 7 |
# File 'lib/butterfly/response.rb', line 5 def status @status end |
Instance Method Details
#add_header(k, v) ⇒ Object
28 29 30 |
# File 'lib/butterfly/response.rb', line 28 def add_header(k,v) @headers[k] = v unless @headers.include?(k) end |
#choose_response_type ⇒ Object
40 41 42 43 44 45 46 47 |
# File 'lib/butterfly/response.rb', line 40 def choose_response_type case request.request_type when "json" "application/json" else "text/plain" end end |
#fail! ⇒ Object
37 38 39 |
# File 'lib/butterfly/response.rb', line 37 def fail! @status = 404 end |
#prepare_body ⇒ Object
20 21 22 23 24 25 26 27 |
# File 'lib/butterfly/response.rb', line 20 def prepare_body case request.request_type when "json" body.to_json else body.to_s end end |
#prepare_headers ⇒ Object
16 17 18 19 |
# File 'lib/butterfly/response.rb', line 16 def prepare_headers add_header("ContentType", choose_response_type) headers end |
#return!(b) ⇒ Object
12 13 14 15 |
# File 'lib/butterfly/response.rb', line 12 def return!(b) @body ||= b [status, prepare_headers, prepare_body] end |
#success! ⇒ Object
34 35 36 |
# File 'lib/butterfly/response.rb', line 34 def success! @status = 200 end |