291: def set(value)
292:
293: name = self.class.value_name(value)
294:
295: call = self.class.value_option(name, :call) || :none
296:
297: if call == :instead
298: event, tmp = call_valuemethod(name, value)
299: elsif call == :none
300: if @resource.provider
301: call_provider(value)
302: else
303:
304:
305: self.fail "%s cannot handle values of type %s" % [self.class.name, value.inspect]
306: end
307: else
308:
309:
310:
311:
312:
313:
314: devfail "Cannot use obsolete :call value '%s' for property '%s'" % [call, self.class.name]
315: end
316:
317: return event(name, event)
318: end