diff options
| author | Jérémy Zurcher <jeremy@asynk.ch> | 2012-01-04 09:44:02 +0100 | 
|---|---|---|
| committer | Jérémy Zurcher <jeremy@asynk.ch> | 2012-01-04 09:44:02 +0100 | 
| commit | 0d82447a4a0f2c603e648ec5f640f848e6a02208 (patch) | |
| tree | 6e75939b6e5d2d300df62cdbb0bb127042dc4c0d /example | |
| parent | 626aebd32b2fa899cfb67f3b569c7460aee9c9b0 (diff) | |
| download | zorglub-0d82447a4a0f2c603e648ec5f640f848e6a02208.zip zorglub-0d82447a4a0f2c603e648ec5f640f848e6a02208.tar.gz  | |
rename examples into example
Diffstat (limited to 'example')
| -rw-r--r-- | example/layout/css.haml | 5 | ||||
| -rw-r--r-- | example/layout/default.haml | 5 | ||||
| -rw-r--r-- | example/layout/other.haml | 4 | ||||
| -rw-r--r-- | example/sample.ru | 154 | ||||
| -rw-r--r-- | example/view/url1/index.haml | 7 | ||||
| -rw-r--r-- | example/view/url1/meth0.haml | 7 | ||||
| -rw-r--r-- | example/view/url3/index.haml | 6 | 
7 files changed, 188 insertions, 0 deletions
diff --git a/example/layout/css.haml b/example/layout/css.haml new file mode 100644 index 0000000..fbe0a47 --- /dev/null +++ b/example/layout/css.haml @@ -0,0 +1,5 @@ +%h1=@title +%p="xx <b>css</b> layout xx" +%p="Css #{inherited_var(:css).inspect}" +%p=@content +%p="xx -- xx" diff --git a/example/layout/default.haml b/example/layout/default.haml new file mode 100644 index 0000000..8df684f --- /dev/null +++ b/example/layout/default.haml @@ -0,0 +1,5 @@ +%h1=@title +%p="xx <b>default</b> layout xx" +%p="count #{Zorglub::Node.count}" +%p=@content +%p="xx -- xx" diff --git a/example/layout/other.haml b/example/layout/other.haml new file mode 100644 index 0000000..601b305 --- /dev/null +++ b/example/layout/other.haml @@ -0,0 +1,4 @@ +%h1=@title +%p="xx <b>other</b> layout - xx" +%p=@content +%p="xx -- xx" diff --git a/example/sample.ru b/example/sample.ru new file mode 100644 index 0000000..32639b3 --- /dev/null +++ b/example/sample.ru @@ -0,0 +1,154 @@ +#! /usr/bin/env ruby +# +$LOAD_PATH << File.join(File.dirname( File.absolute_path(__FILE__)), '..', 'lib') +# +require 'zorglub' +# +require 'haml' +HAML_PROC = Proc.new { |path,obj| Haml::Engine.new( File.open(path,'r').read ).render(obj) } +Zorglub::Config.register_engine 'haml', 'haml', HAML_PROC +Zorglub::Config.register_engine 'tmp-engine', 'haml', HAML_PROC +# +Zorglub::Config.engine = 'haml' +Zorglub::Config.session_on = true +Zorglub::Config.root = File.dirname( File.absolute_path(__FILE__) ) +# +class Zorglub::Node +    @count=0 +    class << self +        attr_accessor :count +    end +    before_all do |node| +        Zorglub::Node.count +=1 +    end +end +# +class Node1 < Zorglub::Node +    # +    def index a1, *a2 +        @title='Index' +        @links = LINKS +        # there's a view so the below will be lost ! +        "<b>should never be seeen</b>" +    end +    # +    def meth0 *args +        @title='meth0' +        @links = LINKS +        # method level engine +        engine 'tmp-engine' +        # there's a view so the below will be lost ! +        "<b>should never be seeen</b>" +    end +    # +    def meth1 *args +        @title='meth1' +        @links = LINKS +        # method level engine (layout/other.haml) +        layout 'other' +        # specific method view (view/url1/meth0.haml) +        view File.join( 'url1','meth0') +        # there's a view so the below will be lost ! +        "<b>should never be seeen</b>" +    end +    # +    def jump *args +        redirect r(:index,1,2,3) +    end +    # +end +# +APP = Zorglub::App.new do +    map '/url1', Node1 +end +# +class Node2 < Zorglub::Node +    # +    map APP, '/url2' +    layout 'css' +    # class level engine +    engine 'tmp-engine' +    # class level css +    inherited_var :css, 'class_level.css' +    # +    def index *args +        "<title>Node2:index</title><b>START</b>#{html}<a href=#{Node2.r(:meth0)}>next</a><br/><b>END</b>" +    end +    # +    def meth0 *args +        # instance level css +        inherited_var :css, 'instance_level.css' +        "<title>Node2:meth0</title><b>START</b>#{html}<a href=#{Node2.r(:meth1,1,2)}>next</a><br/><b>END</b>" +    end +    # +    def meth1 *args +        more = Node2.partial :meth0, *args +        "<title>Node2:meth1</title><b>partial</b><br/>#{more}<br/><b>done</b><br/><a href=#{Node0.r}>back</a>" +    end +end +# +class Node3 < Zorglub::Node +    # +    map APP, '/url3' +    layout '' +    # +    def index *args +        @title = "Session tests" +        if not session.exists? +            @data = "NO SESSION" +        else +            t = Time.now +            if session[:now].nil? +                session[:now] = t +                @data = "#{t.strftime('%H:%M:%S')} FIRST" +            elsif t-session[:now]>5 +                session[:now] = t +                @data = "#{t.strftime('%H:%M:%S')} UPDATE" +            else +                @data = "#{session[:now].strftime('%H:%M:%S')} CURRENT" +            end +        end +    end +    # +end +#    # +#    def redir +#        redirect Node0.r +#    end +# +class Node0 < Zorglub::Node +    # +    map APP, '/' +    # +    def index +        html = "<html><body><ul>" +        html << "<li><a href=\"#{Node1.r('index','a',2,'c')}\">Node1</a> engine, layout, view, redirect tests</li>" +        html << "<li><a href=\"#{Node2.r}\">Node2</a> css helper tests</li>" +        html << "<li><a href=\"#{Node3.r}\">Node3</a> session test</li>" +        html << "</ul></body></html>" +        html +    end +    # +end +# +Node1::LINKS= [ +            [Node1.r('index','arg1','arg2','arg3'),'index'], +            [Node1.r('meth0'),'meth0'], +            [Node1.r('meth1','one','two'),'meth1 with args'], +            [Node1.r('jump','one','two'),'test redirect'], +            [Node0.r,'back'], +] +# +puts APP.to_hash.inspect +# +map '/' do +    use Rack::Lint +    use Rack::ShowExceptions +    use Rack::Session::Cookie,  :key=>Zorglub::Session.session_key, +                                :secret=>'my-secret-secret', +                                :path=>'/', +                                :http_only=>true, +                                :expire_after=>30 +    run APP +end +# diff --git a/example/view/url1/index.haml b/example/view/url1/index.haml new file mode 100644 index 0000000..7bbf8be --- /dev/null +++ b/example/view/url1/index.haml @@ -0,0 +1,7 @@ +%h3='url1 index view' +-action.each do |k,v| +  %p="#{k} => #{v}" +%p +  - @links.each do |href,name| +    %a{:href=>href}=name +    %br diff --git a/example/view/url1/meth0.haml b/example/view/url1/meth0.haml new file mode 100644 index 0000000..89a7ab9 --- /dev/null +++ b/example/view/url1/meth0.haml @@ -0,0 +1,7 @@ +%h3='url1 meth0 view' +-action.each do |k,v| +  %p="#{k} => #{v}" +%p +  - @links.each do |href,name| +    %a{:href=>href}=name +    %br diff --git a/example/view/url3/index.haml b/example/view/url3/index.haml new file mode 100644 index 0000000..ff91a0b --- /dev/null +++ b/example/view/url3/index.haml @@ -0,0 +1,6 @@ +%h2=@title +%p=Time.now.strftime '%H:%M:%S' +%p=@data +%a{:href=>Node3.r}="reload" +%br +%a{:href=>Node0.r}="back"  | 
