module StringEnumerate::Models
Protected Instance Methods
enumerate_fields()
click to toggle source
# File lib/string_enumerate/models.rb, line 87 def enumerate_fields self.class.class_variable_get(:@@enumerate_fields) rescue NameError Rails.logger 'no enumerate fields' nil end
set_enum_changed_at(field)
click to toggle source
# File lib/string_enumerate/models.rb, line 73 def set_enum_changed_at(field) # rubocop:disable Naming/AccessorMethodName return if changes[field].blank? || !attribute_names.include?("#{field}_changed_at") send("#{field}_changed_at=", Time.zone.now) end
set_enum_default(field, values)
click to toggle source
# File lib/string_enumerate/models.rb, line 79 def set_enum_default(field, values) return if enumerate_fields[self.class.name.underscore][field][:set_default] == false return if send(field).present? send("#{field}=", values.to_a.first.first) end
set_enum_fields()
click to toggle source
# File lib/string_enumerate/models.rb, line 94 def set_enum_fields return unless enumerate_fields defined_enums.each do |field, values| set_enum_default(field, values) set_enum_changed_at(field) end end