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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b89efbe36c688675848e879587194b69db1f2fb21a60a2722186d71baced4056
4
- data.tar.gz: a17fbbb16b65f0e1aa3d020596e71bdbab0c431e54b09365849d74d51121a981
3
+ metadata.gz: 115b558183b18b7ec4798910dfd43d4db49ab4448c94e21aaf9b7097e8dab7dc
4
+ data.tar.gz: 9f6afae532b9c8b210e3fcb0ea4173ca3b7dc27996eddfd75ebd0b390b022c37
5
5
  SHA512:
6
- metadata.gz: affe2109c255dab16db5c93f955abcf4d3afd3aa1e46e8e392dee22681a5c3564773ca83195b10f9129e15721b9c0fe11495071bbcacce2419c4c9fe2ba1f2ff
7
- data.tar.gz: 6a2c430ee08994a1d4ff8637b545ab2c27f60b645764b01e8b43793d474efec08afe25ab1d8bf9cacd9157547f83a11954ac8e0d9af91f85ad7302e0bb8cc368
6
+ metadata.gz: 94f4083f6f032a6c69fad18afaf27568eab7e453bdc25c4095e57a9c420ff2dc74801a920ae1165e3019d0438b9d34a2325af392333d34846b1839180e92203e
7
+ data.tar.gz: b5346d0dc286f2cc298388a2ddc8e41a4ec3a1764f77a79241dacff6a9d1ce53545c342df4d850d50ced47f588f93e2513dc61fc47e29accd8aacc21002bc27f
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- tsks (0.0.12)
4
+ tsks (0.0.13)
5
5
  httparty
6
6
  sqlite3
7
7
  thor
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
- if get_res[:tsks]
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
- remote_tsks_to_storage = remote_tsks - local_tsks
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 NOT NULL,
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
- tsk_uuid VARCHAR UNIQUE NOT NULL
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 "%F %T"
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 (id, tsk, status, context, created_at, updated_at)
35
- VALUES (?, ?, ?, ?, ?, ?)",
36
- [uuid, tsk, 'todo', ctx, now, now]
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 (id, tsk, status, created_at, updated_at)
41
- VALUES (?, ?, ?, ?, ?)",
42
- [uuid, tsk, 'todo', now, now]
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
- tsk_uuids = []
142
+ tsk_ids = []
135
143
  for item in result
136
- tsk_uuids.append item[0]
144
+ tsk_ids.append item[0]
137
145
  end
138
- return tsk_uuids
146
+ return tsk_ids
139
147
  end
140
148
 
141
149
  def self.delete_removed_uuids
data/lib/tsks/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Tsks
2
- VERSION = "0.0.12"
2
+ VERSION = "0.0.13"
3
3
  end
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.12
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-05-19 00:00:00.000000000 Z
11
+ date: 2023-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec