Skip to content

Commit be7d7af

Browse files
committed
Refactored config API
1 parent a282d80 commit be7d7af

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

lib/puppet_library/util/config_api.rb

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,19 +58,26 @@ def define_config_class(class_name)
5858
config_class = Class.new(Config) do
5959
define_method(:params) { params }
6060
params.each do |param|
61-
define_method(param.name.to_sym) do |new_value|
62-
set(param, new_value)
63-
end
64-
65-
define_method("get_#{param.name}".to_sym) do
66-
get(param)
67-
end
61+
define_getter(param)
62+
define_setter(param)
6863
end
6964
end
7065
PuppetLibrary.const_set(class_name, config_class)
7166
end
7267

7368
class Config
69+
def self.define_getter(param)
70+
define_method("get_#{param.name}".to_sym) do
71+
get(param)
72+
end
73+
end
74+
75+
def self.define_setter(param)
76+
define_method(param.name.to_sym) do |new_value|
77+
set(param, new_value)
78+
end
79+
end
80+
7481
def initialize
7582
@values = {}
7683
end

0 commit comments

Comments
 (0)