mmsc_app/app/models/application_record.rb
Nicolas Bally a6aa1f6074 Initial
2020-05-25 11:40:11 +02:00

74 lines
1.3 KiB
Ruby

class ApplicationRecord < ActiveRecord::Base
self.abstract_class = true
QI_DYNAMICS_CORE = '
#START QI_DYNAMICS_CORE
QI_DYNAMICS.each do |s|
if true
define_method("#{s}") {
return eval("!self.ac_#{s} ? self.ca_#{s} : self.ac_#{s}")
}
else
puts "QI DYNAMICS : pas de méthode pour ca_#{s}"
end
end
def qi_dynamics_cache
puts "qi_dynamics_cache"
if self.methods.include?(:to_no_archive)
self.to_no_archive.each do |noc|
eval("self.ac_#{noc} = nil")
end
end
QI_DYNAMICS.each do |s|
if true
eval("self.cc_#{s} = self.#{s}")
end
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