tsks 0.0.12 → 0.0.14

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b89efbe36c688675848e879587194b69db1f2fb21a60a2722186d71baced4056
4
- data.tar.gz: a17fbbb16b65f0e1aa3d020596e71bdbab0c431e54b09365849d74d51121a981
3
+ metadata.gz: e0ac100edb1bd020860d7f8a63a58e2cca619f8c6c1775db4e9f5d84b5a864ad
4
+ data.tar.gz: e1e564b30cfb1f4cbe3969dc9b761c13734374a8ee9623818e9d92efd5769f9f
5
5
  SHA512:
6
- metadata.gz: affe2109c255dab16db5c93f955abcf4d3afd3aa1e46e8e392dee22681a5c3564773ca83195b10f9129e15721b9c0fe11495071bbcacce2419c4c9fe2ba1f2ff
7
- data.tar.gz: 6a2c430ee08994a1d4ff8637b545ab2c27f60b645764b01e8b43793d474efec08afe25ab1d8bf9cacd9157547f83a11954ac8e0d9af91f85ad7302e0bb8cc368
6
+ metadata.gz: a57c235a7aef701d2a8537f0449213466c905d7432696eb15cdce666270943b1fcf7681613480aa8fece0815962f777ede0f3f81918ddb9b173ccc69ae6a022b
7
+ data.tar.gz: fed3ec9a4952c847d14c004092de4db6d30d1de4d1b06bfc095b86e4d9aa84ba8b621d2e0f3c9d30658f2f4d4dfcf8beca057c0a457137b82f5354f8f0ead3da
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.14)
5
5
  httparty
6
6
  sqlite3
7
7
  thor
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 "#{tsk_status} | #{tsk[:local_id]} #{tsk[:tsk]} @#{tsk[:context]}"
87
+ puts "#{tsk[:id]} #{tsk_status} | #{tsk[:tsk]} @#{tsk[:context]}"
87
88
  end
88
89
  else
89
90
  puts "no tsks found."
@@ -161,25 +162,33 @@ module Tsks
161
162
  Tsks::Storage.delete_removed_uuids
162
163
  local_tsks = Tsks::Storage.select_all local_id=false
163
164
 
164
- remote_tsks = []
165
165
  begin
166
166
  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
167
+ remote_tsks = get_res[:tsks]
173
168
 
169
+ if get_res[:tsks]
174
170
  if get_res[:ok] == true
175
171
  local_tsks_to_post = local_tsks - remote_tsks
172
+
176
173
  if local_tsks_to_post.count > 0
177
174
  for tsk in local_tsks_to_post
178
- Tsks::Request.post "/tsks", token, {tsk: tsk}
175
+ post_res = Tsks::Request.post "/tsks", token, {tsk: tsk}
176
+ posted_tsk = post_res[:tsk]
177
+
178
+ if posted_tsk
179
+ # TODO: write tests for Storage.select_local_id
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]}
185
+ end
179
186
  end
180
187
  end
181
188
 
182
- remote_tsks_to_storage = remote_tsks - local_tsks
189
+ updated_local_tsks = Tsks::Storage.select_all local_id=false
190
+ remote_tsks_to_storage = remote_tsks - updated_local_tsks
191
+
183
192
  if remote_tsks_to_storage.count > 0
184
193
  Tsks::Storage.insert_many remote_tsks_to_storage
185
194
  end
data/lib/tsks/request.rb CHANGED
@@ -2,7 +2,8 @@ require "httparty"
2
2
 
3
3
  module Tsks
4
4
  class Request
5
- @base_uri = "https://tsks-api.onrender.com/v1"
5
+ @base_uri = "http://localhost:5000/v1"
6
+ #@base_uri = "https://tsks-api.onrender.com/v1"
6
7
 
7
8
  def self.base_uri
8
9
  @base_uri
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.14"
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.14
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-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec