diff options
| author | Jérémy Zurcher <jeremy@asynk.ch> | 2013-01-08 00:39:19 +0100 | 
|---|---|---|
| committer | Jérémy Zurcher <jeremy@asynk.ch> | 2013-01-08 00:39:19 +0100 | 
| commit | 8b5ac512744905424c191ea56124a0e7b9f1f787 (patch) | |
| tree | a6a2c72a3760a9d9d3d3d48f1e4f841dcdc2ccd0 | |
| parent | 929f5c6d149ee0b3a94174c764d7e5101366e26b (diff) | |
| download | zorglub-8b5ac512744905424c191ea56124a0e7b9f1f787.zip zorglub-8b5ac512744905424c191ea56124a0e7b9f1f787.tar.gz | |
inherited_vars can be modified at instance level too, but do not impact class level
| -rw-r--r-- | lib/zorglub/node.rb | 9 | ||||
| -rw-r--r-- | spec/spec_helper.rb | 6 | 
2 files changed, 9 insertions, 6 deletions
| diff --git a/lib/zorglub/node.rb b/lib/zorglub/node.rb index 6619010..5421046 100644 --- a/lib/zorglub/node.rb +++ b/lib/zorglub/node.rb @@ -174,12 +174,13 @@ module Zorglub          end          #          def inherited_var sym, *args -            d = self.class.inherited_vars[sym].clone || [] +            @instance_inherited_vars ||={} +            var= @instance_inherited_vars[sym] ||= self.class.inherited_vars[sym].clone || []              unless args.empty? -                d.concat args -                d.uniq! +                var.concat args +                var.uniq!              end -            d +            var          end          #          # before_all and after_all hooks diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index ee4596e..e710967 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -122,7 +122,8 @@ end  #  class Node4 < Zorglub::Node      no_layout! -    inherited_var :js,'js0','js1' +    inherited_var :js,'js0' +    inherited_var :js,'js1'      def index          inherited_var(:js).to_yaml      end @@ -137,7 +138,8 @@ class Node5 < Node4      # no_layout! inherited from Node4      def index          js = inherited_var(:js,'jsx') -        css = inherited_var(:css, 'css0', 'css1','css2') +        inherited_var(:css, 'css0', 'css1','css2') +        css = inherited_var :css          js.concat(css).to_yaml      end  end | 
