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