tsks 0.0.14 → 0.0.15
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +0 -2
- data/lib/tsks/actions.rb +1 -1
- data/lib/tsks/cli.rb +6 -10
- data/lib/tsks/storage.rb +36 -49
- data/lib/tsks/version.rb +1 -1
- metadata +2 -3
- data/.travis.yml +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b586fc95fb2c8a9eb61946e455e3f506072f21c0253fae9a501a089942399a8e
|
4
|
+
data.tar.gz: 43a9e769270960a9632794b42489d87f638289981ad4ceb1eaf1964ff3860479
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8c9e0dc7955ba274db1b86258ea7ff25770dab13e77929419a2f907b982161f55b736489e68a38292dba858abb64f7309a3ff6c47de691e6585406e20188f8a2
|
7
|
+
data.tar.gz: 14a1fb179964c41fb4375d1ea0ab94371ae591c9473147223677e82e04f7daaf9617a9813b37c9c8adce32d8fd9cb6ca721338ab0679802d17e906d07cea53d8
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
# tsks
|
2
2
|
|
3
|
-
[![build](https://dl.circleci.com/status-badge/img/gh/luanrv/tsks-cli/tree/main.svg?style=svg)](https://dl.circleci.com/status-badge/redirect/gh/luanrv/tsks-cli/tree/main)
|
4
|
-
|
5
3
|
A stateful command line interface to help you handle your daily tsks (with
|
6
4
|
synchronisation and contexts!).
|
7
5
|
|
data/lib/tsks/actions.rb
CHANGED
data/lib/tsks/cli.rb
CHANGED
@@ -84,7 +84,7 @@ module Tsks
|
|
84
84
|
if tsks.count > 0
|
85
85
|
for tsk in tsks
|
86
86
|
tsk_status = Tsks::Actions.get_tsk_status tsk[:status]
|
87
|
-
puts "#{tsk[:id]} #{tsk_status}
|
87
|
+
puts "#{tsk[:id]} | #{tsk_status} #{tsk[:tsk]} @#{tsk[:context]}"
|
88
88
|
end
|
89
89
|
else
|
90
90
|
puts "no tsks found."
|
@@ -159,8 +159,8 @@ module Tsks
|
|
159
159
|
token = File.read File.join CLI.setup_folder, "token"
|
160
160
|
Tsks::Actions.update_tsks_with_user_id user_id
|
161
161
|
Tsks::Actions.update_server_for_removed_tsks token
|
162
|
-
Tsks::Storage.
|
163
|
-
local_tsks = Tsks::Storage.select_all
|
162
|
+
Tsks::Storage.delete_removed_tsk_ids
|
163
|
+
local_tsks = Tsks::Storage.select_all
|
164
164
|
|
165
165
|
begin
|
166
166
|
get_res = Tsks::Request.get "/tsks", token
|
@@ -176,17 +176,13 @@ module Tsks
|
|
176
176
|
posted_tsk = post_res[:tsk]
|
177
177
|
|
178
178
|
if posted_tsk
|
179
|
-
|
180
|
-
tsk_local_id = Tsks::Storage.select_local_id({tsk: posted_tsk[:tsk],
|
181
|
-
created_at: posted_tsk[:created_at],
|
182
|
-
updated_at: posted_tsk[:updated_at]})
|
183
|
-
|
184
|
-
Tsks::Storage.update tsk_local_id, {id: posted_tsk[:id]}
|
179
|
+
Tsks::Storage.update_by({rowid: tsk[:rowid]}, {id: posted_tsk[:id]})
|
185
180
|
end
|
186
181
|
end
|
187
182
|
end
|
188
183
|
|
189
|
-
|
184
|
+
# TODO: review this process
|
185
|
+
updated_local_tsks = Tsks::Storage.select_all
|
190
186
|
remote_tsks_to_storage = remote_tsks - updated_local_tsks
|
191
187
|
|
192
188
|
if remote_tsks_to_storage.count > 0
|
data/lib/tsks/storage.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
require "sqlite3"
|
2
|
-
require "uuid"
|
3
2
|
|
4
3
|
module Tsks
|
5
4
|
class Storage
|
@@ -7,8 +6,8 @@ module Tsks
|
|
7
6
|
storage = get_storage_instance
|
8
7
|
storage.execute <<-SQL
|
9
8
|
CREATE TABLE tsks (
|
10
|
-
id
|
11
|
-
user_id INTEGER DEFAULT
|
9
|
+
id INTEGER PRIMARY KEY UNIQUE,
|
10
|
+
user_id INTEGER DEFAULT 0,
|
12
11
|
tsk VARCHAR NOT NULL,
|
13
12
|
status VARCHAR DEFAULT todo,
|
14
13
|
context VARCHAR DEFAULT inbox,
|
@@ -19,7 +18,7 @@ module Tsks
|
|
19
18
|
|
20
19
|
storage.execute <<-SQL
|
21
20
|
CREATE TABLE removed_tsks (
|
22
|
-
tsk_id
|
21
|
+
tsk_id INTEGER UNIQUE NOT NULL
|
23
22
|
)
|
24
23
|
SQL
|
25
24
|
end
|
@@ -62,7 +61,7 @@ module Tsks
|
|
62
61
|
end
|
63
62
|
end
|
64
63
|
|
65
|
-
def self.update
|
64
|
+
def self.update tsk_id, params=nil
|
66
65
|
storage = get_storage_instance
|
67
66
|
|
68
67
|
if params && params.count == 1
|
@@ -73,13 +72,24 @@ module Tsks
|
|
73
72
|
storage.execute(
|
74
73
|
"UPDATE tsks SET " \
|
75
74
|
"#{params.keys.first}=? " \
|
76
|
-
"WHERE
|
77
|
-
[params.values.first,
|
75
|
+
"WHERE id=?",
|
76
|
+
[params.values.first, tsk_id])
|
78
77
|
else
|
79
|
-
storage.execute "UPDATE tsks SET status='done' WHERE
|
78
|
+
storage.execute "UPDATE tsks SET status='done' WHERE id=?", tsk_id
|
80
79
|
end
|
81
80
|
end
|
82
81
|
|
82
|
+
# TODO: write tests
|
83
|
+
def self.update_by tsk_params, params=nil
|
84
|
+
storage = get_storage_instance
|
85
|
+
|
86
|
+
storage.execute(
|
87
|
+
"UPDATE tsks SET " \
|
88
|
+
"#{params.keys.first}=? " \
|
89
|
+
"WHERE #{tsk_params.keys.first}=?",
|
90
|
+
[params.values.first, tsk_params.values.first])
|
91
|
+
end
|
92
|
+
|
83
93
|
def self.select_by params
|
84
94
|
storage = get_storage_instance
|
85
95
|
|
@@ -100,23 +110,10 @@ module Tsks
|
|
100
110
|
tsks = structure_tsks raw_tsks
|
101
111
|
end
|
102
112
|
|
103
|
-
|
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
|
-
|
114
|
-
def self.select_all local_id=true
|
113
|
+
def self.select_all
|
115
114
|
storage = get_storage_instance
|
116
|
-
raw_tsks =
|
117
|
-
|
118
|
-
storage.execute("SELECT * FROM tsks")
|
119
|
-
tsks = structure_tsks(raw_tsks, local_id=local_id)
|
115
|
+
raw_tsks = storage.execute("SELECT rowid, * FROM tsks")
|
116
|
+
tsks = structure_tsks raw_tsks
|
120
117
|
end
|
121
118
|
|
122
119
|
def self.select_active
|
@@ -125,17 +122,18 @@ module Tsks
|
|
125
122
|
tsks = structure_tsks raw_tsks
|
126
123
|
end
|
127
124
|
|
128
|
-
def self.delete
|
125
|
+
def self.delete tsk_id
|
129
126
|
storage = get_storage_instance
|
130
|
-
removed_tsks = storage.execute("SELECT * FROM tsks WHERE
|
127
|
+
removed_tsks = storage.execute("SELECT * FROM tsks WHERE id=?", tsk_id)
|
128
|
+
|
131
129
|
if removed_tsks.empty?
|
132
130
|
return false
|
133
131
|
end
|
134
132
|
storage.execute("INSERT INTO removed_tsks (tsk_id) VALUES (?)", removed_tsks[0][0])
|
135
|
-
storage.execute("DELETE FROM tsks WHERE
|
133
|
+
storage.execute("DELETE FROM tsks WHERE id=?", tsk_id)
|
136
134
|
end
|
137
135
|
|
138
|
-
def self.
|
136
|
+
def self.select_removed_tsk_ids
|
139
137
|
storage = get_storage_instance
|
140
138
|
result = storage.execute("SELECT * FROM removed_tsks")
|
141
139
|
|
@@ -146,7 +144,7 @@ module Tsks
|
|
146
144
|
return tsk_ids
|
147
145
|
end
|
148
146
|
|
149
|
-
def self.
|
147
|
+
def self.delete_removed_tsk_ids
|
150
148
|
storage = get_storage_instance
|
151
149
|
storage.execute("DELETE FROM removed_tsks")
|
152
150
|
end
|
@@ -157,30 +155,19 @@ module Tsks
|
|
157
155
|
SQLite3::Database.new File.join CLI.setup_folder, "tsks.db"
|
158
156
|
end
|
159
157
|
|
160
|
-
def self.structure_tsks tsks
|
158
|
+
def self.structure_tsks tsks
|
161
159
|
structured_tsks = []
|
162
160
|
|
163
161
|
for tsk in tsks
|
164
162
|
t = {}
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
t[:created_at] = tsk[6]
|
174
|
-
t[:updated_at] = tsk[7]
|
175
|
-
else
|
176
|
-
t[:id] = tsk[0]
|
177
|
-
t[:user_id] = tsk[1]
|
178
|
-
t[:tsk] = tsk[2]
|
179
|
-
t[:status] = tsk[3]
|
180
|
-
t[:context] = tsk[4]
|
181
|
-
t[:created_at] = tsk[5]
|
182
|
-
t[:updated_at] = tsk[6]
|
183
|
-
end
|
163
|
+
t[:rowid] = tsk[0]
|
164
|
+
t[:id] = tsk[1]
|
165
|
+
t[:user_id] = tsk[2]
|
166
|
+
t[:tsk] = tsk[3]
|
167
|
+
t[:status] = tsk[4]
|
168
|
+
t[:context] = tsk[5]
|
169
|
+
t[:created_at] = tsk[6]
|
170
|
+
t[:updated_at] = tsk[7]
|
184
171
|
|
185
172
|
structured_tsks.append t
|
186
173
|
end
|
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.15
|
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-06-
|
11
|
+
date: 2023-06-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -92,7 +92,6 @@ files:
|
|
92
92
|
- ".env.sample"
|
93
93
|
- ".gitignore"
|
94
94
|
- ".rspec"
|
95
|
-
- ".travis.yml"
|
96
95
|
- Gemfile
|
97
96
|
- Gemfile.lock
|
98
97
|
- README.md
|