summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--examples/sample.ru18
-rw-r--r--lib/zorglub/node.rb14
2 files changed, 16 insertions, 16 deletions
diff --git a/examples/sample.ru b/examples/sample.ru
index 48f59b0..b318f86 100644
--- a/examples/sample.ru
+++ b/examples/sample.ru
@@ -11,17 +11,11 @@ Zorglub::Config.root = File.dirname( File.absolute_path(__FILE__) )
class Node1 < Zorglub::Node
#
def index a1, *a2
- response.write "<title>Node1:index</title>"
- response.write "<p>a1 : #{a1.inspect}</p>"
- response.write "<p>a2 : #{a2.inspect}</p>"
- response.write self.html
- response.finish
+ "<title>Node1:index</title><p>a1 : #{a1.inspect}</p><p>a2 : #{a2.inspect}</p>#{html}"
end
#
def alt *args
- response.write "<title>Node1:alt</title>"
- response.write html
- response.finish
+ "<title>Node1:alt</title>#{html}"
end
#
end
@@ -37,18 +31,14 @@ class Node2 < Zorglub::Node
layout 'my-layout'
#
def index *args
- response.write "<title>Node2</title>"
- response.write html
- response.finish
+ "<title>Node2</title>#{html}"
end
#
def alt *args
engine 'temp-engine'
layout 'temp-layout-name'
view 'path-to-temp-view'
- response.write "<title>Node2:alt</title>"
- response.write html
- response.finish
+ "<title>Node2:alt</title>#{html}"
end
#
end
diff --git a/lib/zorglub/node.rb b/lib/zorglub/node.rb
index 89b0cf2..99d6c5d 100644
--- a/lib/zorglub/node.rb
+++ b/lib/zorglub/node.rb
@@ -31,8 +31,9 @@ module Zorglub
meth||= 'index'
node = self.new Rack::Request.new(env), Rack::Response.new, {:engine=>engine,:layout=>layout,:view=>File.join(r,meth),:method=>meth,:args=>args}
return error_404 node if not node.respond_to? meth
- # TODO session
- node.send meth, *args
+ # TODO
+ # - session
+ node.realize
end
#
def error_404 node
@@ -53,6 +54,15 @@ module Zorglub
@response = res
end
#
+ def realize
+ # TODO
+ # - use view
+ # - use layout
+ r = self.send @action[:method], *@action[:args]
+ response.write r
+ response.finish
+ end
+ #
def engine engine=nil
@action[:engine] = engine unless engine.nil?
@action[:engine]