From d7c217bd3057b18c8c2dff12e0a5974719185b68 Mon Sep 17 00:00:00 2001 From: Gibheer Date: Sat, 17 Nov 2012 09:25:05 +0100 Subject: make class functions more clear in renderer --- lib/zero/renderer.rb | 46 ++++++++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 22 deletions(-) (limited to 'lib') diff --git a/lib/zero/renderer.rb b/lib/zero/renderer.rb index 740d156..3ae515b 100644 --- a/lib/zero/renderer.rb +++ b/lib/zero/renderer.rb @@ -14,30 +14,32 @@ module Zero # The call to #render will return the String representation of the template # with all data given. class Renderer - # set a base path for template search - # @param path [String] the path to the template base dir - def self.template_path=(path) - @@path = path + '/' - end + class << self + # set a base path for template search + # @param path [String] the path to the template base dir + def template_path=(path) + @@path = path + '/' + end - # save a mapping hash for the type - # - # With that it is possible to map long and complex contant types to simpler - # representations. These get then used in the finding process for the best - # fitting template. - # - # @example - # Zero::Renderer.map = {'text/html' => 'html'} - # - # @param map [Hash] maps the content type to a simple representation - def self.type_map=(map) - @@map = map - end + # save a mapping hash for the type + # + # With that it is possible to map long and complex contant types to simpler + # representations. These get then used in the finding process for the best + # fitting template. + # + # @example + # Zero::Renderer.map = {'text/html' => 'html'} + # + # @param map [Hash] maps the content type to a simple representation + def type_map=(map) + @@map = map + end - # returns the type map - # @return [Hash] the mapping for types - def self.type_map - @@map ||= {} + # returns the type map + # @return [Hash] the mapping for types + def type_map + @@map ||= {} + end end # take the path and render the template within the context -- cgit v1.2.3-70-g09d2 From 4e2a4b8931327b7540320ca8f8d65e5ce0ab3a09 Mon Sep 17 00:00:00 2001 From: Gibheer Date: Sat, 17 Nov 2012 11:35:49 +0100 Subject: use Zero::Request instead of the rack one --- lib/zero/controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/zero/controller.rb b/lib/zero/controller.rb index 3c3af8c..76d0f46 100644 --- a/lib/zero/controller.rb +++ b/lib/zero/controller.rb @@ -7,7 +7,7 @@ module Zero class Controller # initialize a new instance of the controller and call response on it def self.call(env) - new(Rack::Request.new(env)).response + new(Zero::Request.new(env)).response end # initialize the controller -- cgit v1.2.3-70-g09d2 From 7fa20e6131d652d8dc3304a68dab40bef6e4cd73 Mon Sep 17 00:00:00 2001 From: Gibheer Date: Sat, 17 Nov 2012 13:27:30 +0100 Subject: make a wrapper over the static transform --- lib/zero/renderer.rb | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'lib') diff --git a/lib/zero/renderer.rb b/lib/zero/renderer.rb index 3ae515b..40a9bed 100644 --- a/lib/zero/renderer.rb +++ b/lib/zero/renderer.rb @@ -74,6 +74,12 @@ module Zero raise FileNotFoundError.new("Template '#{template_path}' not found!") end + # @see transform + # @api private + def transform(string) + self.class.transform(string) + end + # transform a type into a simpler representation # @api private # @param string [String] the original type name -- cgit v1.2.3-70-g09d2 From 926775f029dfcbedcda087242151dae7ee31b51f Mon Sep 17 00:00:00 2001 From: Gibheer Date: Sat, 17 Nov 2012 14:23:41 +0100 Subject: seperated the methods of the basic controller --- lib/zero/controller.rb | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/zero/controller.rb b/lib/zero/controller.rb index 76d0f46..5784aa0 100644 --- a/lib/zero/controller.rb +++ b/lib/zero/controller.rb @@ -20,7 +20,17 @@ module Zero # build the response and return it # @return Response a rack conform response def response - raise NotImplementedError.new("Not Implemented in ${__FILE__}") + process if respond_to?(:process) + render + @response + end + + def process + raise NotImplementedError.new("'render' not implemented in #{self.class}") + end + + def process + raise NotImplementedError.new("'render' not implemented in #{self.class}") end end end -- cgit v1.2.3-70-g09d2