lib/tsks/storage.rb in tsks-0.0.12 vs lib/tsks/storage.rb in tsks-0.0.13

- old
+ new

@@ -5,11 +5,11 @@ class Storage def self.init storage = get_storage_instance storage.execute <<-SQL CREATE TABLE tsks ( - id VARCHAR PRIMARY KEY UNIQUE NOT NULL, + id VARCHAR PRIMARY KEY UNIQUE, user_id INTEGER DEFAULT 1, tsk VARCHAR NOT NULL, status VARCHAR DEFAULT todo, context VARCHAR DEFAULT inbox, created_at VARCHAR NOT NULL, @@ -17,31 +17,30 @@ ) SQL storage.execute <<-SQL CREATE TABLE removed_tsks ( - tsk_uuid VARCHAR UNIQUE NOT NULL + tsk_id VARCHAR UNIQUE NOT NULL ) SQL end def self.insert tsk, ctx=nil storage = get_storage_instance - now = Time.now.strftime "%F %T" - uuid = UUID.new.generate + now = Time.now.strftime("%Y-%m-%dT%H:%M:%S.%LZ") if ctx storage.execute(" - INSERT INTO tsks (id, tsk, status, context, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, ?)", - [uuid, tsk, 'todo', ctx, now, now] + INSERT INTO tsks (tsk, status, context, created_at, updated_at) + VALUES (?, ?, ?, ?, ?)", + [tsk, 'todo', ctx, now, now] ) else storage.execute(" - INSERT INTO tsks (id, tsk, status, created_at, updated_at) - VALUES (?, ?, ?, ?, ?)", - [uuid, tsk, 'todo', now, now] + INSERT INTO tsks (tsk, status, created_at, updated_at) + VALUES (?, ?, ?, ?)", + [tsk, 'todo', now, now] ) end end def self.insert_many tsks @@ -99,10 +98,21 @@ end tsks = structure_tsks raw_tsks end + # TODO: write tests for Storage.select_local_id + def self.select_local_id params + storage = get_storage_instance + + tsk = storage.execute( + "SELECT rowid, * FROM tsks WHERE #{params.keys.first}=? AND #{params.keys[1]}=? AND #{params.keys.last}=?", + params.values.first, params.values[1], params.values.last) + + tsk_local_id = tsk[0][0] + end + def self.select_all local_id=true storage = get_storage_instance raw_tsks = local_id ? storage.execute("SELECT rowid, * FROM tsks") : storage.execute("SELECT * FROM tsks") @@ -115,28 +125,26 @@ tsks = structure_tsks raw_tsks end def self.delete local_id storage = get_storage_instance - removed_tsks = storage - .execute("SELECT * FROM tsks WHERE rowid=?", local_id) + 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("INSERT INTO removed_tsks (tsk_id) 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 = [] + tsk_ids = [] for item in result - tsk_uuids.append item[0] + tsk_ids.append item[0] end - return tsk_uuids + return tsk_ids end def self.delete_removed_uuids storage = get_storage_instance storage.execute("DELETE FROM removed_tsks")