@@ -69,7 +69,7 @@ def initialize(couchdb=nil)
6969 @default_attributes = Mash . new
7070 @override_attributes = Mash . new
7171 @run_list = Chef ::RunList . new
72- @env_run_lists = { "_default" => { "default_attributes" => @default_attributes , "override_attributes" => @override_attributes , " run_list" => @run_list } }
72+ @env_run_lists = { "_default" => @ run_list}
7373 @couchdb_rev = nil
7474 @couchdb_id = nil
7575 @couchdb = couchdb || Chef ::CouchDB . new
@@ -107,28 +107,28 @@ def description(arg=nil)
107107 def run_list ( *args )
108108 if ( args . length > 0 )
109109 @run_list . reset! ( args )
110- @env_run_lists . merge! ( { "_default" => { "default_attributes" => @default_attributes , "override_attributes" => @override_attributes , " run_list" => @run_list } } )
110+ @env_run_lists . merge! ( { "_default" => @ run_list} )
111111 end
112112 @run_list
113113 end
114114
115115 alias_method :recipes , :run_list
116116
117+ # For run_list expansion
117118 def run_list_for_environment ( environment = '_default' )
118- if env_run_lists [ environment ] . nil? || env_run_lists [ environment ] . empty? || env_run_lists [ environment ] [ "run_list" ] . nil?
119+ if env_run_lists [ environment ] . nil? || env_run_lists [ environment ] . empty?
119120 run_list
120121 else
121- env_run_lists [ environment ] [ "run_list" ]
122+ env_run_lists [ environment ]
122123 end
123124 end
124125
126+ # Per environment run lists
125127 def env_run_lists ( hash = nil , run_list_items_only = false )
126- # TODO: should have btter validation, but leaving it as it is for now to make everything work first [nuo]
127128 if ( !hash . nil? && hash . length > 0 )
128129 hash . each do |k , v |
129- unless v [ "run_list" ] . nil?
130- rl = Chef ::RunList . new ( k ) . reset! ( v [ "run_list" ] )
131- v [ "run_list" ] = run_list_items_only ? rl . run_list_items : rl
130+ unless v . nil?
131+ hash [ k ] = run_list_items_only ? Chef ::RunList . new ( k ) . reset! ( v ) . run_list_items : Chef ::RunList . new ( k ) . reset! ( v )
132132 end
133133 end
134134 @env_run_lists = hash
@@ -184,8 +184,7 @@ def update_from!(o)
184184 run_list ( o . run_list )
185185 default_attributes ( o . default_attributes )
186186 override_attributes ( o . override_attributes )
187- default_env_run_list = { "_default" => { "default_attributes" => o . default_attributes , "override_attributes" => o . override_attributes , "run_list" => o . run_list } }
188- env_run_lists ( o . env_run_lists . nil? ? default_env_run_list : o . env_run_lists . merge! ( default_env_run_list ) )
187+ env_run_lists ( o . env_run_lists . nil? ? { "_default" => o . run_list } : o . env_run_lists . merge! ( { "_default" => o . run_list } ) )
189188 self
190189 end
191190
@@ -201,8 +200,7 @@ def self.json_create(o)
201200 else
202201 o [ "recipes" ]
203202 end )
204- default_env_run_list = { "_default" => { "default_attributes" => o [ "default_attributes" ] , "override_attributes" => o [ "override_attributes" ] , "run_list" => role . run_list } }
205- role . env_run_lists ( o [ "env_run_lists" ] . nil? ? default_env_run_list : o [ "env_run_lists" ] . merge! ( default_env_run_list ) )
203+ role . env_run_lists ( o [ "env_run_lists" ] . nil? ? { "_default" => role . run_list } : o [ "env_run_lists" ] . merge! ( { "_default" => role . run_list } ) )
206204 role . couchdb_rev = o [ "_rev" ] if o . has_key? ( "_rev" )
207205 role . index_id = role . couchdb_id
208206 role . couchdb_id = o [ "_id" ] if o . has_key? ( "_id" )
@@ -268,7 +266,7 @@ def destroy
268266
269267 # Save this role to the CouchDB
270268 def cdb_save
271- @env_run_lists . merge! ( { "_default" => { "default_attributes" => @default_attributes , "override_attributes" => @override_attributes , " run_list" => @run_list } } )
269+ @env_run_lists . merge! ( { "_default" => @ run_list} )
272270 self . couchdb_rev = couchdb . store ( "role" , @name , self ) [ "rev" ]
273271 end
274272
0 commit comments