128: def self.mk_resource_methods
129: [resource_type.validproperties, resource_type.parameters].flatten.each do |attr|
130: attr = symbolize(attr)
131: define_method(attr) do
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144: if @property_hash[attr] or self.class.valid_attr?(self.class.name, attr)
145: @property_hash[attr] || :absent
146: else
147: if defined?(@resource)
148: @resource.should(attr)
149: else
150: nil
151: end
152: end
153: end
154:
155: define_method(attr.to_s + "=") do |val|
156: mark_target_modified
157: @property_hash[attr] = val
158: end
159: end
160: end