From c3be9fefb467c360fc428bbaf6625862cd7c6ffc Mon Sep 17 00:00:00 2001 From: Adam Spiers Date: Mon, 3 Feb 2014 13:09:02 +0000 Subject: [PATCH] extract copy_attrs_to_chef_resource for reuse --- libraries/pacemaker/cib_object.rb | 8 ++++++++ providers/primitive.rb | 9 ++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/libraries/pacemaker/cib_object.rb b/libraries/pacemaker/cib_object.rb index aaded5d..c6c2ed4 100644 --- a/libraries/pacemaker/cib_object.rb +++ b/libraries/pacemaker/cib_object.rb @@ -75,6 +75,14 @@ module Pacemaker self end + def copy_attrs_to_chef_resource(resource, *attrs) + attrs.each do |attr| + value = send(attr.to_sym) + writer = attr.to_sym + resource.send(writer, value) + end + end + def load_definition @definition = self.class.get_definition(name) diff --git a/providers/primitive.rb b/providers/primitive.rb index 8237762..9f2e15d 100644 --- a/providers/primitive.rb +++ b/providers/primitive.rb @@ -87,13 +87,8 @@ end def init_current_resource name = @new_resource.name @current_resource = Chef::Resource::PacemakerPrimitive.new(name) - @current_resource.agent(@current_cib_object.agent) - %w(params meta).each do |data_type| - method = data_type.to_sym - value = @current_cib_object.send(method) - @current_resource.send(method, value) - Chef::Log.debug "detected #{name} has #{data_type} #{value}" - end + @current_cib_object.copy_attrs_to_chef_resource(@current_resource, + :agent, :params, :meta) end def create_resource(name)