vulco_app/app/models/application_record.rb
2019-11-03 16:49:49 +01:00

53 lines
976 B
Ruby

class ApplicationRecord < ActiveRecord::Base
self.abstract_class = true
QI_DYNAMICS_CORE = '
#START QI_DYNAMICS_CORE
QI_DYNAMICS.each do |s|
define_method("#{s}") {
return eval("!self.ac_#{s} ? self.ca_#{s} : self.ac_#{s}")
}
end
def qi_dynamics_cache
QI_DYNAMICS.each do |s|
eval("self.cc_#{s} = self.#{s}")
end
end
after_validation :qi_dynamics_cache
def archive_now
self.qi_dynamics_cache
self.archived = true
QI_DYNAMICS.each do |s|
eval("self.ac_#{s} = self.cc_#{s} ")
end
self.personalised_archive if self.methods.include?(:personalised_archive)
self.save
end
def unarchive_now
self.archived = false
self.qi_dynamics_cache
QI_DYNAMICS.each do |s|
eval("self.ac_#{s} = nil ")
end
self.personalised_unarchive if self.methods.include?(:personalised_unarchive)
self.save
end
#END QI_DYNAMICS_CORE
'
end