2022-12-25 23:42:01 +02:00
|
|
|
module Merged
|
|
|
|
class ActiveBase < ActiveYaml::Base
|
2022-12-27 17:04:53 +02:00
|
|
|
fields :updated_at , :updated_by
|
|
|
|
|
|
|
|
def edit_save( editor )
|
|
|
|
self.updated_at = Time.now
|
|
|
|
self.updated_by = editor
|
2023-01-06 18:50:06 +02:00
|
|
|
edit_save!(editor)
|
2022-12-27 17:04:53 +02:00
|
|
|
end
|
2022-12-11 21:30:25 +02:00
|
|
|
|
2023-01-06 18:50:06 +02:00
|
|
|
def edit_save!(editor)
|
|
|
|
ChangeSet.current.edit(self.class.name , self.change_name, editor)
|
2022-12-26 18:09:31 +02:00
|
|
|
save!()
|
2022-12-22 16:58:51 +02:00
|
|
|
self.class.save_all
|
|
|
|
end
|
|
|
|
|
2022-12-27 17:04:53 +02:00
|
|
|
def add_save( editor )
|
|
|
|
self.updated_at = Time.now
|
|
|
|
self.updated_by = editor
|
2023-01-06 18:50:06 +02:00
|
|
|
add_save!(editor)
|
2022-12-27 17:04:53 +02:00
|
|
|
end
|
|
|
|
|
2023-01-06 18:50:06 +02:00
|
|
|
def add_save!(editor)
|
|
|
|
ChangeSet.current.add(self.class.name , self.change_name, editor)
|
2022-12-26 18:09:31 +02:00
|
|
|
save!()
|
2022-12-26 00:40:52 +02:00
|
|
|
self.class.save_all
|
|
|
|
end
|
|
|
|
|
2023-01-06 18:50:06 +02:00
|
|
|
def delete_save!(editor)
|
|
|
|
ChangeSet.current.delete(self.class.name , self.change_name,editor)
|
2022-12-22 17:18:28 +02:00
|
|
|
self.class.delete(self.id)
|
|
|
|
self.class.save_all
|
|
|
|
end
|
|
|
|
|
2022-12-22 16:58:51 +02:00
|
|
|
def self.save_all
|
|
|
|
data = @records.collect {|obj| obj.attributes}
|
|
|
|
File.write( self.full_path , data.to_yaml)
|
2023-01-05 18:54:13 +02:00
|
|
|
self.reload(true)
|
2022-12-22 16:58:51 +02:00
|
|
|
end
|
|
|
|
|
2022-12-11 21:30:25 +02:00
|
|
|
def self.delete(id) # only works with id's
|
|
|
|
@record_index.delete(id.to_s)
|
|
|
|
@records.delete_if{|record| record[:id] == id.to_i}
|
|
|
|
true
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|