# File lib/puppet/external/event-loop/better-definers.rb, line 104
104:   def define_writers (*names, &body)
105:     for name in names.map { |x| x.to_sym } do
106:       if block_given?
107:         define_method(name.writer, &body)
108:       else
109:         attr_writer(name.without_punctuation)
110:       end
111:       if name.predicate?
112:         class_eval %{def #{name.imperative}
113:           self.#{name.writer} true end}
114:       end
115:     end
116:   end