From 38e088e1bebe496835b3f38ab3f46268f239070c Mon Sep 17 00:00:00 2001 From: Adam Spiers Date: Thu, 30 Jan 2014 16:55:39 +0000 Subject: [PATCH] extract #copy_attrs_from_chef_resource --- libraries/pacemaker/cib_object.rb | 9 +++++++++ libraries/pacemaker/resource/primitive.rb | 8 +------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/libraries/pacemaker/cib_object.rb b/libraries/pacemaker/cib_object.rb index a218c5d..ebb8754 100644 --- a/libraries/pacemaker/cib_object.rb +++ b/libraries/pacemaker/cib_object.rb @@ -62,6 +62,15 @@ module Pacemaker @definition = nil end + def copy_attrs_from_chef_resource(resource, *attrs) + attrs.each do |attr| + value = resource.send(attr.to_sym) + writer = (attr + '=').to_sym + send(writer, value) + end + self + end + def load_definition @definition = self.class.get_definition(name) diff --git a/libraries/pacemaker/resource/primitive.rb b/libraries/pacemaker/resource/primitive.rb index 04058f1..fbd955d 100644 --- a/libraries/pacemaker/resource/primitive.rb +++ b/libraries/pacemaker/resource/primitive.rb @@ -15,13 +15,7 @@ class Pacemaker::Resource::Primitive < Pacemaker::Resource end def self.from_chef_resource(resource) - primitive = new(resource.name) - %w(agent params meta op).each do |data| - value = resource.send(data.to_sym) - writer = (data + '=').to_sym - primitive.send(writer, value) - end - return primitive + new(resource.name).copy_attrs_from_chef_resource(resource, *%w(agent params meta op)) end def parse_definition