summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorGibheer <gibheer@gmail.com>2013-01-11 13:21:02 +0100
committerGibheer <gibheer@gmail.com>2013-01-11 16:02:26 +0100
commit399e0ea3383732aa2a29557ed8344cae74632e8e (patch)
tree29effc7608f25a0b3740a46e2e8475171209a8a5 /lib
parentf9fd98510b7ccc6aa5bb8685fa1a7e144eb4d737 (diff)
use class_options for the controller
Diffstat (limited to 'lib')
-rw-r--r--lib/zero.rb2
-rw-r--r--lib/zero/controller.rb28
2 files changed, 5 insertions, 25 deletions
diff --git a/lib/zero.rb b/lib/zero.rb
index 3d3580f..d1f3d9a 100644
--- a/lib/zero.rb
+++ b/lib/zero.rb
@@ -2,7 +2,7 @@
if RUBY_VERSION <= '1.9'
require 'zero_fix18'
end
-
+require 'class_options'
module Zero
require 'zero/controller'
diff --git a/lib/zero/controller.rb b/lib/zero/controller.rb
index ce9e247..ce2122f 100644
--- a/lib/zero/controller.rb
+++ b/lib/zero/controller.rb
@@ -5,40 +5,20 @@ module Zero
# rack compatible controllers. It catches #call and creates a new instance
# with the environment and calls #render on it.
class Controller
+ extend ClassOptions::Options
# initialize a new instance of the controller and call response on it
def self.call(env)
new(env).response
end
# set the class to use for responses
- def self.response=(response_class)
- @@response = response_class
- end
-
- # return the set response class
- def self.response
- @@response ||= Zero::Response
- end
+ options :response
# set a class to use for requests
- def self.request=(request_class)
- @@request = request_class
- end
-
- # return the set request class
- def self.request
- @@request ||= Zero::Request
- end
+ options :request
# set the renderer to use in the controller
- def self.renderer=(renderer)
- @@renderer = renderer
- end
-
- # get the renderer set in the controller
- def self.renderer
- @@renderer
- end
+ options :renderer
# the renderer which can be used to render templates
attr_reader :renderer