tsks 0.0.13 → 0.0.15

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: 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