Module: Attrio::Reset::ClassMethods
- Defined in:
- lib/attrio/reset.rb
Instance Method Summary collapse
Instance Method Details
#define_attrio_reset(as) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/attrio/reset.rb', line 10 def define_attrio_reset(as) define_method "reset_#{as.to_s}" do |attributes = []| # self.send(as.to_s, attributes).values.each{ |attribute| self.send(attribute.writer_method_name, nil) } # self.send("set_#{as.to_s}_defaults", attributes) self.send(as.to_s, attributes).values.each{ |attribute| attribute.reset! } end # define_method "reset_#{as.to_s}_defaults" do |attributes = []| # self.send(as.to_s, attributes).values.select{ |attribute| !attribute.default_value.nil? }.each { |attribute| self.send(attribute.writer_method_name, nil) } # self.send("set_#{as.to_s}_defaults", attributes) # end # define_method "set_#{as.to_s}_defaults" do |attributes = []| # self.send(as.to_s, attributes).values.select{ |attribute| !attribute.default_value.nil? }.each do |attribute| # next if self.send(attribute.reader_method_name).present? # default_value = attribute.default_value.is_a?(Attrio::DefaultValue::Base) ? attribute.default_value.call(self) : attribute.default_value # self.send(attribute.writer_method_name, default_value) # end # end end |