tsks 0.0.13 → 0.0.15
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/README.md +0 -2
- data/lib/tsks/actions.rb +1 -1
- data/lib/tsks/cli.rb +7 -10
- data/lib/tsks/request.rb +2 -1
- 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
|
-
[](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
@@ -6,6 +6,7 @@ require "tsks/actions"
|
|
6
6
|
|
7
7
|
module Tsks
|
8
8
|
class CLI < Thor
|
9
|
+
# @setup_folder = File.expand_path "~/.tsks_tmp"
|
9
10
|
@setup_folder = File.expand_path "~/.tsks"
|
10
11
|
|
11
12
|
def self.setup_folder
|
@@ -83,7 +84,7 @@ module Tsks
|
|
83
84
|
if tsks.count > 0
|
84
85
|
for tsk in tsks
|
85
86
|
tsk_status = Tsks::Actions.get_tsk_status tsk[:status]
|
86
|
-
puts "#{
|
87
|
+
puts "#{tsk[:id]} | #{tsk_status} #{tsk[:tsk]} @#{tsk[:context]}"
|
87
88
|
end
|
88
89
|
else
|
89
90
|
puts "no tsks found."
|
@@ -158,8 +159,8 @@ module Tsks
|
|
158
159
|
token = File.read File.join CLI.setup_folder, "token"
|
159
160
|
Tsks::Actions.update_tsks_with_user_id user_id
|
160
161
|
Tsks::Actions.update_server_for_removed_tsks token
|
161
|
-
Tsks::Storage.
|
162
|
-
local_tsks = Tsks::Storage.select_all
|
162
|
+
Tsks::Storage.delete_removed_tsk_ids
|
163
|
+
local_tsks = Tsks::Storage.select_all
|
163
164
|
|
164
165
|
begin
|
165
166
|
get_res = Tsks::Request.get "/tsks", token
|
@@ -175,17 +176,13 @@ module Tsks
|
|
175
176
|
posted_tsk = post_res[:tsk]
|
176
177
|
|
177
178
|
if posted_tsk
|
178
|
-
|
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]}
|
179
|
+
Tsks::Storage.update_by({rowid: tsk[:rowid]}, {id: posted_tsk[:id]})
|
184
180
|
end
|
185
181
|
end
|
186
182
|
end
|
187
183
|
|
188
|
-
|
184
|
+
# TODO: review this process
|
185
|
+
updated_local_tsks = Tsks::Storage.select_all
|
189
186
|
remote_tsks_to_storage = remote_tsks - updated_local_tsks
|
190
187
|
|
191
188
|
if remote_tsks_to_storage.count > 0
|
data/lib/tsks/request.rb
CHANGED
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
|