diff --git a/lib/zero.rb b/lib/zero.rb index d1f3d9a..22bd30c 100644 --- a/lib/zero.rb +++ b/lib/zero.rb @@ -2,6 +2,7 @@ if RUBY_VERSION <= '1.9' require 'zero_fix18' end + require 'class_options' module Zero diff --git a/lib/zero/controller.rb b/lib/zero/controller.rb index ce2122f..f77bf44 100644 --- a/lib/zero/controller.rb +++ b/lib/zero/controller.rb @@ -12,13 +12,13 @@ module Zero end # set the class to use for responses - options :response + accept_options :response # set a class to use for requests - options :request + accept_options :request # set the renderer to use in the controller - options :renderer + accept_options :renderer # the renderer which can be used to render templates attr_reader :renderer diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 5711e6c..733a9a9 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,3 +1,5 @@ +require 'bundler/setup' + if ENV['SIMPLECOV'] require 'simplecov' SimpleCov.start do diff --git a/spec/unit/zero/controller/call_spec.rb b/spec/unit/zero/controller/call_spec.rb index 44a8f0a..44c4d7b 100644 --- a/spec/unit/zero/controller/call_spec.rb +++ b/spec/unit/zero/controller/call_spec.rb @@ -6,9 +6,9 @@ describe Zero::Controller, '.call' do let(:env) { EnvGenerator.get('/foo') } before :each do - object.renderer = Object.new - object.response = Zero::Response - object.request = Zero::Request + object.renderer(Object.new) + object.response(Zero::Response) + object.request(Zero::Request) end it "returns a response" do @@ -30,12 +30,12 @@ describe Zero::Controller, '.call' do context "with the response" do let(:response_class) { mock } before :each do - object.response = response_class + object.response(response_class) response_class.should_receive(:new).and_return(Zero::Response.new) end after :each do - Zero::Controller.response = nil + Zero::Controller.response(nil) end it { subject } diff --git a/spec/unit/zero/controller/render_spec.rb b/spec/unit/zero/controller/render_spec.rb index 0d807cc..843f237 100644 --- a/spec/unit/zero/controller/render_spec.rb +++ b/spec/unit/zero/controller/render_spec.rb @@ -5,8 +5,8 @@ describe Zero::Controller, '#render' do subject { object.new(env) } before do - object.request = Zero::Request - object.response = Zero::Response + object.request(Zero::Request) + object.response(Zero::Response) end let(:env) { EnvGenerator.get('/foo') } @@ -14,12 +14,12 @@ describe Zero::Controller, '#render' do let(:template) { '/foo' } before :each do - object.renderer = renderer + object.renderer(renderer) renderer.should_receive(:render).with(template, kind_of(Zero::Request::AcceptType), subject) end after :each do - Zero::Controller.renderer = nil + Zero::Controller.renderer(nil) end it { subject.render(template) } diff --git a/spec/unit/zero/controller/renderer_spec.rb b/spec/unit/zero/controller/renderer_spec.rb index 35e0475..e4a712e 100644 --- a/spec/unit/zero/controller/renderer_spec.rb +++ b/spec/unit/zero/controller/renderer_spec.rb @@ -5,12 +5,12 @@ describe Zero::Controller, '#renderer' do let(:renderer) { Object.new } before do - subject.response = Zero::Response - subject.request = Zero::Request + subject.response(Zero::Response) + subject.request(Zero::Request) end it 'returns the set renderer' do - subject.renderer = renderer + subject.renderer(renderer) p subject.renderer expect(subject.new({}).renderer).to be(renderer) end