merged/app/models/merged/active_base.rb

49 lines
1.1 KiB
Ruby
Raw Normal View History

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)
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)
save!()
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)
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