193: def to_transobject
194:
195: result = Puppet::TransObject.new(@reference.title, @reference.type)
196: to_hash.each do |p, v|
197: if v.is_a?(Puppet::Resource::Reference)
198: v = v.to_trans_ref
199: elsif v.is_a?(Array)
200: v = v.collect { |av|
201: if av.is_a?(Puppet::Resource::Reference)
202: av = av.to_trans_ref
203: end
204: av
205: }
206: end
207:
208:
209:
210:
211:
212: result[p.to_s] = if v.is_a?(Array) and v.length == 1
213: v[0]
214: else
215: v
216: end
217: end
218:
219: result.tags = self.tags
220:
221: return result
222: end