tsks 0.0.12 → 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/tsks/cli.rb +17 -9
- data/lib/tsks/storage.rb +25 -17
- data/lib/tsks/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 115b558183b18b7ec4798910dfd43d4db49ab4448c94e21aaf9b7097e8dab7dc
|
4
|
+
data.tar.gz: 9f6afae532b9c8b210e3fcb0ea4173ca3b7dc27996eddfd75ebd0b390b022c37
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 94f4083f6f032a6c69fad18afaf27568eab7e453bdc25c4095e57a9c420ff2dc74801a920ae1165e3019d0438b9d34a2325af392333d34846b1839180e92203e
|
7
|
+
data.tar.gz: b5346d0dc286f2cc298388a2ddc8e41a4ec3a1764f77a79241dacff6a9d1ce53545c342df4d850d50ced47f588f93e2513dc61fc47e29accd8aacc21002bc27f
|
data/Gemfile.lock
CHANGED
data/lib/tsks/cli.rb
CHANGED
@@ -161,25 +161,33 @@ module Tsks
|
|
161
161
|
Tsks::Storage.delete_removed_uuids
|
162
162
|
local_tsks = Tsks::Storage.select_all local_id=false
|
163
163
|
|
164
|
-
remote_tsks = []
|
165
164
|
begin
|
166
165
|
get_res = Tsks::Request.get "/tsks", token
|
167
|
-
|
168
|
-
for tsk in get_res[:tsks]
|
169
|
-
tsk[:created_at] = Time.parse(tsk[:created_at]).strftime "%F %T"
|
170
|
-
tsk[:updated_at] = Time.parse(tsk[:updated_at]).strftime "%F %T"
|
171
|
-
remote_tsks.append tsk
|
172
|
-
end
|
166
|
+
remote_tsks = get_res[:tsks]
|
173
167
|
|
168
|
+
if get_res[:tsks]
|
174
169
|
if get_res[:ok] == true
|
175
170
|
local_tsks_to_post = local_tsks - remote_tsks
|
171
|
+
|
176
172
|
if local_tsks_to_post.count > 0
|
177
173
|
for tsk in local_tsks_to_post
|
178
|
-
Tsks::Request.post "/tsks", token, {tsk: tsk}
|
174
|
+
post_res = Tsks::Request.post "/tsks", token, {tsk: tsk}
|
175
|
+
posted_tsk = post_res[:tsk]
|
176
|
+
|
177
|
+
if posted_tsk
|
178
|
+
# TODO: write tests for Storage.select_local_id
|
179
|
+
tsk_local_id = Tsks::Storage.select_local_id({tsk: posted_tsk[:tsk],
|
180
|
+
created_at: posted_tsk[:created_at],
|
181
|
+
updated_at: posted_tsk[:updated_at]})
|
182
|
+
|
183
|
+
Tsks::Storage.update tsk_local_id, {id: posted_tsk[:id]}
|
184
|
+
end
|
179
185
|
end
|
180
186
|
end
|
181
187
|
|
182
|
-
|
188
|
+
updated_local_tsks = Tsks::Storage.select_all local_id=false
|
189
|
+
remote_tsks_to_storage = remote_tsks - updated_local_tsks
|
190
|
+
|
183
191
|
if remote_tsks_to_storage.count > 0
|
184
192
|
Tsks::Storage.insert_many remote_tsks_to_storage
|
185
193
|
end
|
data/lib/tsks/storage.rb
CHANGED
@@ -7,7 +7,7 @@ module Tsks
|
|
7
7
|
storage = get_storage_instance
|
8
8
|
storage.execute <<-SQL
|
9
9
|
CREATE TABLE tsks (
|
10
|
-
id VARCHAR PRIMARY KEY UNIQUE
|
10
|
+
id VARCHAR PRIMARY KEY UNIQUE,
|
11
11
|
user_id INTEGER DEFAULT 1,
|
12
12
|
tsk VARCHAR NOT NULL,
|
13
13
|
status VARCHAR DEFAULT todo,
|
@@ -19,27 +19,26 @@ module Tsks
|
|
19
19
|
|
20
20
|
storage.execute <<-SQL
|
21
21
|
CREATE TABLE removed_tsks (
|
22
|
-
|
22
|
+
tsk_id VARCHAR UNIQUE NOT NULL
|
23
23
|
)
|
24
24
|
SQL
|
25
25
|
end
|
26
26
|
|
27
27
|
def self.insert tsk, ctx=nil
|
28
28
|
storage = get_storage_instance
|
29
|
-
now = Time.now.strftime
|
30
|
-
uuid = UUID.new.generate
|
29
|
+
now = Time.now.strftime("%Y-%m-%dT%H:%M:%S.%LZ")
|
31
30
|
|
32
31
|
if ctx
|
33
32
|
storage.execute("
|
34
|
-
INSERT INTO tsks (
|
35
|
-
VALUES (?, ?, ?, ?,
|
36
|
-
[
|
33
|
+
INSERT INTO tsks (tsk, status, context, created_at, updated_at)
|
34
|
+
VALUES (?, ?, ?, ?, ?)",
|
35
|
+
[tsk, 'todo', ctx, now, now]
|
37
36
|
)
|
38
37
|
else
|
39
38
|
storage.execute("
|
40
|
-
INSERT INTO tsks (
|
41
|
-
VALUES (?, ?, ?,
|
42
|
-
[
|
39
|
+
INSERT INTO tsks (tsk, status, created_at, updated_at)
|
40
|
+
VALUES (?, ?, ?, ?)",
|
41
|
+
[tsk, 'todo', now, now]
|
43
42
|
)
|
44
43
|
end
|
45
44
|
end
|
@@ -101,6 +100,17 @@ module Tsks
|
|
101
100
|
tsks = structure_tsks raw_tsks
|
102
101
|
end
|
103
102
|
|
103
|
+
# TODO: write tests for Storage.select_local_id
|
104
|
+
def self.select_local_id params
|
105
|
+
storage = get_storage_instance
|
106
|
+
|
107
|
+
tsk = storage.execute(
|
108
|
+
"SELECT rowid, * FROM tsks WHERE #{params.keys.first}=? AND #{params.keys[1]}=? AND #{params.keys.last}=?",
|
109
|
+
params.values.first, params.values[1], params.values.last)
|
110
|
+
|
111
|
+
tsk_local_id = tsk[0][0]
|
112
|
+
end
|
113
|
+
|
104
114
|
def self.select_all local_id=true
|
105
115
|
storage = get_storage_instance
|
106
116
|
raw_tsks = local_id ?
|
@@ -117,13 +127,11 @@ module Tsks
|
|
117
127
|
|
118
128
|
def self.delete local_id
|
119
129
|
storage = get_storage_instance
|
120
|
-
removed_tsks = storage
|
121
|
-
.execute("SELECT * FROM tsks WHERE rowid=?", local_id)
|
130
|
+
removed_tsks = storage.execute("SELECT * FROM tsks WHERE rowid=?", local_id)
|
122
131
|
if removed_tsks.empty?
|
123
132
|
return false
|
124
133
|
end
|
125
|
-
storage
|
126
|
-
.execute("INSERT INTO removed_tsks (tsk_uuid) VALUES (?)", removed_tsks[0][0])
|
134
|
+
storage.execute("INSERT INTO removed_tsks (tsk_id) VALUES (?)", removed_tsks[0][0])
|
127
135
|
storage.execute("DELETE FROM tsks WHERE rowid=?", local_id)
|
128
136
|
end
|
129
137
|
|
@@ -131,11 +139,11 @@ module Tsks
|
|
131
139
|
storage = get_storage_instance
|
132
140
|
result = storage.execute("SELECT * FROM removed_tsks")
|
133
141
|
|
134
|
-
|
142
|
+
tsk_ids = []
|
135
143
|
for item in result
|
136
|
-
|
144
|
+
tsk_ids.append item[0]
|
137
145
|
end
|
138
|
-
return
|
146
|
+
return tsk_ids
|
139
147
|
end
|
140
148
|
|
141
149
|
def self.delete_removed_uuids
|
data/lib/tsks/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tsks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luan Ramos Vicente
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-06-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|