lib/tsks/storage.rb in tsks-0.0.3 vs lib/tsks/storage.rb in tsks-0.0.4

- old
+ new

@@ -14,10 +14,16 @@ done BOOLEAN DEFAULT false, created_at VARCHAR NOT NULL, updated_at VARCHAR NOT NULL ) SQL + + storage.execute <<-SQL + CREATE TABLE removed_tsks ( + tsk_uuid VARCHAR UNIQUE NOT NULL + ) + SQL end def self.insert tsk, ctx=nil storage = get_storage_instance now = Time.now.strftime "%F %T" @@ -99,9 +105,37 @@ storage = get_storage_instance raw_tsks = local_id ? storage.execute("SELECT rowid, * FROM tsks") : storage.execute("SELECT * FROM tsks") tsks = structure_tsks(raw_tsks, local_id=local_id) + end + + def self.delete local_id + storage = get_storage_instance + removed_tsks = storage + .execute("SELECT * FROM tsks WHERE rowid=?", local_id) + if removed_tsks.empty? + return false + end + storage + .execute("INSERT INTO removed_tsks (tsk_uuid) VALUES (?)", removed_tsks[0][0]) + storage.execute("DELETE FROM tsks WHERE rowid=?", local_id) + end + + def self.select_removed_uuids + storage = get_storage_instance + result = storage.execute("SELECT * FROM removed_tsks") + + tsk_uuids = [] + for item in result + tsk_uuids.append item[0] + end + return tsk_uuids + end + + def self.delete_removed_uuids + storage = get_storage_instance + storage.execute("DELETE FROM removed_tsks") end private def self.get_storage_instance