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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 115b558183b18b7ec4798910dfd43d4db49ab4448c94e21aaf9b7097e8dab7dc
4
- data.tar.gz: 9f6afae532b9c8b210e3fcb0ea4173ca3b7dc27996eddfd75ebd0b390b022c37
3
+ metadata.gz: b586fc95fb2c8a9eb61946e455e3f506072f21c0253fae9a501a089942399a8e
4
+ data.tar.gz: 43a9e769270960a9632794b42489d87f638289981ad4ceb1eaf1964ff3860479
5
5
  SHA512:
6
- metadata.gz: 94f4083f6f032a6c69fad18afaf27568eab7e453bdc25c4095e57a9c420ff2dc74801a920ae1165e3019d0438b9d34a2325af392333d34846b1839180e92203e
7
- data.tar.gz: b5346d0dc286f2cc298388a2ddc8e41a4ec3a1764f77a79241dacff6a9d1ce53545c342df4d850d50ced47f588f93e2513dc61fc47e29accd8aacc21002bc27f
6
+ metadata.gz: 8c9e0dc7955ba274db1b86258ea7ff25770dab13e77929419a2f907b982161f55b736489e68a38292dba858abb64f7309a3ff6c47de691e6585406e20188f8a2
7
+ data.tar.gz: 14a1fb179964c41fb4375d1ea0ab94371ae591c9473147223677e82e04f7daaf9617a9813b37c9c8adce32d8fd9cb6ca721338ab0679802d17e906d07cea53d8
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- tsks (0.0.13)
4
+ tsks (0.0.15)
5
5
  httparty
6
6
  sqlite3
7
7
  thor
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
@@ -6,7 +6,7 @@ module Tsks
6
6
  current_tsks = Tsks::Storage.select_all
7
7
 
8
8
  for tsk in current_tsks
9
- Tsks::Storage.update tsk[:local_id], {user_id: user_id}
9
+ Tsks::Storage.update_by({rowid: tsk[:rowid]}, {user_id: user_id})
10
10
  end
11
11
  end
12
12
 
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."
@@ -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.delete_removed_uuids
162
- local_tsks = Tsks::Storage.select_all local_id=false
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
- # 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]}
179
+ Tsks::Storage.update_by({rowid: tsk[:rowid]}, {id: posted_tsk[:id]})
184
180
  end
185
181
  end
186
182
  end
187
183
 
188
- updated_local_tsks = Tsks::Storage.select_all local_id=false
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
@@ -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
@@ -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 VARCHAR PRIMARY KEY UNIQUE,
11
- user_id INTEGER DEFAULT 1,
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 VARCHAR UNIQUE NOT NULL
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 local_id, params=nil
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 rowid=?",
77
- [params.values.first, local_id])
75
+ "WHERE id=?",
76
+ [params.values.first, tsk_id])
78
77
  else
79
- storage.execute "UPDATE tsks SET status='done' WHERE rowid=?", local_id
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
- # 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
-
114
- def self.select_all local_id=true
113
+ def self.select_all
115
114
  storage = get_storage_instance
116
- raw_tsks = local_id ?
117
- storage.execute("SELECT rowid, * FROM tsks") :
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 local_id
125
+ def self.delete tsk_id
129
126
  storage = get_storage_instance
130
- removed_tsks = storage.execute("SELECT * FROM tsks WHERE rowid=?", local_id)
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 rowid=?", local_id)
133
+ storage.execute("DELETE FROM tsks WHERE id=?", tsk_id)
136
134
  end
137
135
 
138
- def self.select_removed_uuids
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.delete_removed_uuids
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, local_id=true
158
+ def self.structure_tsks tsks
161
159
  structured_tsks = []
162
160
 
163
161
  for tsk in tsks
164
162
  t = {}
165
-
166
- if local_id
167
- t[:local_id] = tsk[0]
168
- t[:id] = tsk[1]
169
- t[:user_id] = tsk[2]
170
- t[:tsk] = tsk[3]
171
- t[:status] = tsk[4]
172
- t[:context] = tsk[5]
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
@@ -1,3 +1,3 @@
1
1
  module Tsks
2
- VERSION = "0.0.13"
2
+ VERSION = "0.0.15"
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.13
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-08 00:00:00.000000000 Z
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
data/.travis.yml DELETED
@@ -1,6 +0,0 @@
1
- ---
2
- language: ruby
3
- cache: bundler
4
- rvm:
5
- - 2.7.0
6
- before_install: gem install bundler -v 2.1.4