diff options
author | Stormwind <stormwind@stormwinds-page.de> | 2012-11-16 17:56:34 +0100 |
---|---|---|
committer | Stormwind <stormwind@stormwinds-page.de> | 2012-11-16 17:56:34 +0100 |
commit | 0986ca27f52d709a7489a106571efffcbee4e7fd (patch) | |
tree | b4d3e510e4a1e2e589e4cdd3f929a0981f5bf6fc | |
parent | f37cc87fe56aff32c30a2aa48a2cf8ca44447567 (diff) |
Add simple response object
-rw-r--r-- | lib/zero/all.rb | 1 | ||||
-rw-r--r-- | lib/zero/response.rb | 19 | ||||
-rw-r--r-- | spec/unit/response/response_spec.rb | 19 |
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 |