0
0
Fork 0

use new api of class_options

This commit is contained in:
Gibheer 2013-01-28 15:49:53 +01:00
parent 001f9ebf77
commit b317b05f90
6 changed files with 18 additions and 15 deletions

View File

@ -2,6 +2,7 @@
if RUBY_VERSION <= '1.9'
require 'zero_fix18'
end
require 'class_options'
module Zero

View File

@ -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

View File

@ -1,3 +1,5 @@
require 'bundler/setup'
if ENV['SIMPLECOV']
require 'simplecov'
SimpleCov.start do

View File

@ -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 }

View File

@ -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) }

View File

@ -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