reuse code for copying attributes from Chef object
This commit is contained in:
parent
9c13a896a9
commit
128831d3b6
@ -67,6 +67,15 @@ module Pacemaker
|
||||
obj
|
||||
end
|
||||
end
|
||||
|
||||
def from_chef_resource(resource)
|
||||
new(resource.name).copy_attrs_from_chef_resource(resource,
|
||||
*attrs_to_copy_from_chef)
|
||||
end
|
||||
|
||||
def attrs_to_copy_from_chef
|
||||
raise NotImplementedError, "#{self.class} didn't implement attrs_to_copy_from_chef"
|
||||
end
|
||||
end
|
||||
|
||||
def initialize(name)
|
||||
|
@ -6,9 +6,8 @@ class Pacemaker::Constraint::Colocation < Pacemaker::Constraint
|
||||
|
||||
attr_accessor :score, :resources
|
||||
|
||||
def self.from_chef_resource(resource)
|
||||
attrs = %w(score resources)
|
||||
new(resource.name).copy_attrs_from_chef_resource(resource, *attrs)
|
||||
def self.attrs_to_copy_from_chef
|
||||
%w(score resources)
|
||||
end
|
||||
|
||||
def parse_definition
|
||||
|
@ -49,6 +49,5 @@ module Pacemaker
|
||||
end
|
||||
h
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
@ -9,9 +9,8 @@ class Pacemaker::Resource::Group < Pacemaker::Resource
|
||||
|
||||
attr_accessor :members
|
||||
|
||||
def self.from_chef_resource(resource)
|
||||
attrs = %w(members meta)
|
||||
new(resource.name).copy_attrs_from_chef_resource(resource, *attrs)
|
||||
def self.attrs_to_copy_from_chef
|
||||
%w(members meta)
|
||||
end
|
||||
|
||||
def parse_definition
|
||||
|
@ -16,8 +16,8 @@ class Pacemaker::Resource::Primitive < Pacemaker::Resource
|
||||
@agent = nil
|
||||
end
|
||||
|
||||
def self.from_chef_resource(resource)
|
||||
new(resource.name).copy_attrs_from_chef_resource(resource, *%w(agent params meta op))
|
||||
def self.attrs_to_copy_from_chef
|
||||
%w(agent params meta op)
|
||||
end
|
||||
|
||||
def parse_definition
|
||||
|
Loading…
x
Reference in New Issue
Block a user