aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStormwind <stormwind@stormwinds-page.de>2012-11-16 17:56:34 +0100
committerStormwind <stormwind@stormwinds-page.de>2012-11-16 17:56:34 +0100
commit0986ca27f52d709a7489a106571efffcbee4e7fd (patch)
treeb4d3e510e4a1e2e589e4cdd3f929a0981f5bf6fc
parentf37cc87fe56aff32c30a2aa48a2cf8ca44447567 (diff)
Add simple response object
-rw-r--r--lib/zero/all.rb1
-rw-r--r--lib/zero/response.rb19
-rw-r--r--spec/unit/response/response_spec.rb19
3 files changed, 39 insertions, 0 deletions
diff --git a/lib/zero/all.rb b/lib/zero/all.rb
index 3252d6e..c994bee 100644
--- a/lib/zero/all.rb
+++ b/lib/zero/all.rb
@@ -2,3 +2,4 @@ require_relative 'controller'
require_relative 'router'
require_relative 'renderer'
require_relative 'request'
+require_relative 'response' \ No newline at end of file
diff --git a/lib/zero/response.rb b/lib/zero/response.rb
new file mode 100644
index 0000000..418c8a7
--- /dev/null
+++ b/lib/zero/response.rb
@@ -0,0 +1,19 @@
+module Zero
+
+ # This is the representation of a response
+ #
+ class Response
+ attr_accessor :status, :header, :body
+
+ # Returns the data of the response as an array:
+ # [status, header, body]
+ # to be usable by any webserver
+ #
+ # @return Array
+ #
+ def to_a()
+ [@status, @header, @body]
+ end
+
+ end
+end
diff --git a/spec/unit/response/response_spec.rb b/spec/unit/response/response_spec.rb
new file mode 100644
index 0000000..a0d423f
--- /dev/null
+++ b/spec/unit/response/response_spec.rb
@@ -0,0 +1,19 @@
+require 'spec_helper'
+
+describe Zero::Response, '#finish' do
+ subject { Zero::Response.new() }
+
+ it "returns an array within status header and body" do
+ subject.status = 200
+ subject.header = {}
+ subject.body = []
+
+ value = subject.to_a
+
+ value.should be_an_instance_of(Array)
+ value[0].should eq(200) # Status code
+ value[1].should eq({}) # Headers
+ value[2].should eq([]) # Body
+ end
+
+end \ No newline at end of file