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