2323class Chef
2424class Node
2525class Attribute
26- attr_accessor :attribute ,
26+ attr_accessor :normal ,
2727:default ,
2828:override ,
2929:state ,
30- :current_attribute ,
30+ :current_normal ,
3131:current_default ,
3232:current_override ,
3333:auto_vivifiy_on_read ,
@@ -38,24 +38,32 @@ class Attribute
3838
3939include Enumerable
4040
41- def initialize ( attribute , default , override , state = [ ] )
42- @attribute = attribute
43- @current_attribute = attribute
41+ def initialize ( normal , default , override , state = [ ] )
42+ @normal = normal
43+ @current_normal = normal
4444@default = default
4545@current_default = default
4646@override = override
4747@current_override = override
4848@state = state
4949@auto_vivifiy_on_read = false
5050@set_unless_value_present = false
51- @set_type = :attribute
51+ @set_type = :normal
5252@has_been_read = false
5353end
5454
55+ def attribute
56+ normal
57+ end
58+
59+ def attribute = ( value )
60+ normal = value
61+ end
62+
5563def set_type
5664case @set_type
57- when :attribute
58- @attribute
65+ when :normal
66+ @normal
5967when :override
6068@override
6169when :default
@@ -65,7 +73,7 @@ def set_type
6573
6674# Reset our internal state to the top of every tree
6775def reset
68- @current_attribute = @attribute
76+ @current_normal = @normal
6977@current_default = @default
7078@current_override = @override
7179@has_been_read = false
@@ -80,15 +88,15 @@ def [](key)
8088@has_been_read = true
8189
8290o_value = value_or_descend ( current_override , key , auto_vivifiy_on_read )
83- a_value = value_or_descend ( current_attribute , key , auto_vivifiy_on_read )
91+ a_value = value_or_descend ( current_normal , key , auto_vivifiy_on_read )
8492d_value = value_or_descend ( current_default , key , auto_vivifiy_on_read )
8593
8694determine_value ( o_value , a_value , d_value )
8795end
8896
8997def attribute? ( key )
9098return true if get_value ( override , key )
91- return true if get_value ( attribute , key )
99+ return true if get_value ( normal , key )
92100return true if get_value ( default , key )
93101false
94102end
@@ -105,7 +113,7 @@ def each(&block)
105113get_keys . each do |key |
106114value = determine_value (
107115get_value ( override , key ) ,
108- get_value ( attribute , key ) ,
116+ get_value ( normal , key ) ,
109117get_value ( default , key )
110118)
111119block . call ( [ key , value ] )
@@ -116,7 +124,7 @@ def each_pair(&block)
116124get_keys . each do |key |
117125value = determine_value (
118126get_value ( override , key ) ,
119- get_value ( attribute , key ) ,
127+ get_value ( normal , key ) ,
120128get_value ( default , key )
121129)
122130block . call ( key , value )
@@ -127,7 +135,7 @@ def each_attribute(&block)
127135get_keys . each do |key |
128136value = determine_value (
129137get_value ( override , key ) ,
130- get_value ( attribute , key ) ,
138+ get_value ( normal , key ) ,
131139get_value ( default , key )
132140)
133141block . call ( key , value )
@@ -144,7 +152,7 @@ def each_value(&block)
144152get_keys . each do |key |
145153value = determine_value (
146154get_value ( override , key ) ,
147- get_value ( attribute , key ) ,
155+ get_value ( normal , key ) ,
148156get_value ( default , key )
149157)
150158block . call ( value )
@@ -159,7 +167,7 @@ def fetch(key, default_value=nil, &block)
159167if get_keys . include? key
160168determine_value (
161169get_value ( override , key ) ,
162- get_value ( attribute , key ) ,
170+ get_value ( normal , key ) ,
163171get_value ( default , key )
164172)
165173elsif default_value
@@ -219,8 +227,8 @@ def keys
219227if current_override
220228tkeys = current_override . keys
221229end
222- if current_attribute
223- current_attribute . keys . each do |key |
230+ if current_normal
231+ current_normal . keys . each do |key |
224232tkeys << key unless tkeys . include? ( key )
225233end
226234end
@@ -352,8 +360,8 @@ def value_or_descend(data_hash, key, auto_vivifiy=false)
352360
353361if auto_vivifiy
354362data_hash = auto_vivifiy ( data_hash , key )
355- unless current_attribute . has_key? ( key )
356- current_attribute [ key ] = data_hash [ key ]
363+ unless current_normal . has_key? ( key )
364+ current_normal [ key ] = data_hash [ key ]
357365end
358366unless current_default . has_key? ( key )
359367current_default [ key ] = data_hash [ key ]
@@ -367,8 +375,8 @@ def value_or_descend(data_hash, key, auto_vivifiy=false)
367375end
368376
369377if data_hash [ key ] . respond_to? ( :has_key? )
370- cna = Chef ::Node ::Attribute . new ( @attribute , @default , @override , @state )
371- cna . current_attribute = current_attribute . nil? ? Mash . new : current_attribute [ key ]
378+ cna = Chef ::Node ::Attribute . new ( @normal , @default , @override , @state )
379+ cna . current_normal = current_normal . nil? ? Mash . new : current_normal [ key ]
372380cna . current_default = current_default . nil? ? Mash . new : current_default [ key ]
373381cna . current_override = current_override . nil? ? Mash . new : current_override [ key ]
374382cna . auto_vivifiy_on_read = auto_vivifiy_on_read
@@ -404,7 +412,7 @@ def method_missing(symbol, *args)
404412end
405413
406414def to_hash
407- result = determine_value ( current_override , current_attribute , current_default )
415+ result = determine_value ( current_override , current_normal , current_default )
408416if result . class == Hash
409417result
410418else
0 commit comments