diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/zorglub/defs.rb | 48 | ||||
| -rw-r--r-- | lib/zorglub/node.rb | 24 | 
2 files changed, 23 insertions, 49 deletions
diff --git a/lib/zorglub/defs.rb b/lib/zorglub/defs.rb deleted file mode 100644 index accbc4d..0000000 --- a/lib/zorglub/defs.rb +++ /dev/null @@ -1,48 +0,0 @@ -# -*- coding: UTF-8 -*- -# -module Zorglub -    # -    class Node -        # -        @defs_h = { -        } -        # -        class << self -            # -            attr_reader :defs_h -            # -            # TODO override is maybe not the better way -            def inherited sub -                sub.layout layout -                sub.engine engine -                sub.instance_variable_set :@defs_h, {} -                @defs_h.each do |d,v| -                    sub.defs d, *v -                end -            end -            # -            def defs sym, *args -                unless args.empty? -                    @defs_h[sym] ||=[] -                    @defs_h[sym].concat args -                    @defs_h[sym].uniq! -                end -                @defs_h[sym] -            end -            # -        end -        # -        def defs sym, *args -            d = self.class.defs_h[sym].clone -            unless args.empty? -                d ||=[] -                d.concat args -                d.uniq! -            end -            d -        end -    end -    # -end -# -# EOF diff --git a/lib/zorglub/node.rb b/lib/zorglub/node.rb index 669f2c4..78f46af 100644 --- a/lib/zorglub/node.rb +++ b/lib/zorglub/node.rb @@ -9,13 +9,17 @@ module Zorglub              :after_all => [],          }          # +        @inherited_vars = { } +        #          class << self              # -            attr_reader :hooks +            attr_reader :hooks, :inherited_vars              #              def inherited sub                  sub.layout layout                  sub.engine engine +                sub.instance_variable_set :@inherited_vars, {} +                @inherited_vars.each do |s,v| sub.inherited_var s, *v end              end              #              def engine engine=nil @@ -28,6 +32,15 @@ module Zorglub                  @layout ||= Config.layout              end              # +            def inherited_var sym, *args +                var = @inherited_vars[sym] ||=[] +                unless args.empty? +                    var.concat args +                    var.uniq! +                end +                var +            end +            #              attr_writer :app              def map app, location                  @app = app @@ -146,6 +159,15 @@ module Zorglub              File.join(Config.view_base_path, @action[:view])+Config.engine_ext(@action[:engine])          end          # +        def inherited_var sym, *args +            d = self.class.inherited_vars[sym].clone || [] +            unless args.empty? +                d.concat args +                d.uniq! +            end +            d +        end +        #          def args              @action[:args]          end  | 
