tsks 0.0.8 → 0.0.10

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: bc64bfc231b5bdddc48e461c610e21564cb6e84cacf98ec865669c9f9326aa4d
4
- data.tar.gz: bdf3d97cb380ebd6e014b99a86557af4db94716339a2c6d7fc7ef40f664aa652
3
+ metadata.gz: 8dcfc253377c9a3e088a512b8e471f8192656e09e4f4974ebe36f1a4fe1ecf59
4
+ data.tar.gz: 1abb7fc7bc71670be855cbcf50670db59003e3eee4835d4ac02ca73f6b39fe5e
5
5
  SHA512:
6
- metadata.gz: '0301898a19b38ca228ced6c841cefbc24a8ce595ccaa54ee8a9b5c616f27e278e5c592e37cde8498927b5fad1664a15d23dca9d0f14985bb3703129b3b661430'
7
- data.tar.gz: d3c2d5f445335576c3be41ef095b432f52a75f7c8acee1346ed5fc2823cd904fbe6c8a9b35b6ef5145f58aa3709a82ec2a6f0205f973c61ec473dc397c3f9c3a
6
+ metadata.gz: 5dfd37445ab1a61c066489b43d68ffece47083de6f1a13c12308240bf0b5eec429409bdab7ef9e0d097109f01df7ab6c9eb1687a1a28d29ae3aee3d7e16cf72d
7
+ data.tar.gz: ac8be97dbc67159ebcdd01b272ab9ae38a03b2bd67a9132e37b1f7968c673ed8fc1d9860c1f5a8969bffce11ac41c8158374c49fcdb929546c142c7bedcbc098
data/.env.sample CHANGED
@@ -1,2 +1,2 @@
1
1
  SETUP_FOLDER=~/.tsks_test
2
- BASE_API_URI=http://localhost:3000/v1
2
+ BASE_API_URI=http://localhost:5000/v1
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- tsks (0.0.8)
4
+ tsks (0.0.10)
5
5
  httparty
6
6
  sqlite3
7
7
  thor
data/README.md CHANGED
@@ -1,16 +1,16 @@
1
1
  # tsks
2
2
 
3
- A stateful command line interface to help you handle your daily tsks (with
4
- synchronisation and contexts!).
3
+ [![build](https://app.travis-ci.com/luanrv/tsks-cli.svg?branch=main)](https://app.travis-ci.com/luanrv/tsks-cli)
5
4
 
6
- [![build](https://travis-ci.com/luanrvmood/tsks.svg?branch=master)](https://travis-ci.com/luanrvmood/tsks)
5
+ A stateful command line interface to help you handle your daily tsks (with
6
+ synchronisation and contexts!).
7
7
 
8
8
  ## Features
9
9
 
10
- * Add tsks, check what is already done and list active or archived tsks
11
- * Synchronise your tsks and access them from all your terminals!
10
+ - Add tsks, check what is already done and list active or archived tsks
11
+ - Synchronise your tsks and access them from all your terminals!
12
12
  (soon accessible from a webapp as well)
13
- * Increase your daily tsks management with contexts using
13
+ - Increase your daily tsks management with contexts using
14
14
  `tsks add tsk --context=today` (see `tsks help add` for more info)
15
15
 
16
16
  ## Installation
@@ -21,9 +21,9 @@ gem install tsks
21
21
 
22
22
  ## Usage
23
23
 
24
- After follow the step above you should be able to run `tsks` from your terminal.
24
+ After follow the step above you should be able to run `tsks` from your terminal.
25
25
 
26
- _It's important to notice that you will need to run `tsks init` to setup stuffs
26
+ _It's important to notice that you will need to run `tsks init` to setup stuffs
27
27
  like the storage before any other command._
28
28
 
29
29
  ### Adding new tsks
@@ -38,7 +38,7 @@ tsks add "My first tsk"
38
38
  tsks add "Bootstraps my pet project environment" --context=Today
39
39
  ```
40
40
 
41
- ### Marking tsks as done
41
+ ### Marking tsks as done
42
42
 
43
43
  ```sh
44
44
  tsks done 2 # Where 2 is the tsk id
@@ -57,17 +57,18 @@ tsks list --context=Today
57
57
  ```
58
58
 
59
59
  **Or tsks already done**
60
+
60
61
  ```sh
61
62
  tsks list --done
62
63
  ```
63
64
 
64
- **Tip:** It's possible to combine the flags `--done` and `--context` when
65
+ **Tip:** It's possible to combine the flags `--done` and `--context` when
65
66
  listing.
66
67
 
67
68
  ### Synchronising your tsks
68
69
 
69
- As easy as running `tsks sync`. This command will fetch your tsks from the API,
70
- then filter what is not synchronised yet from local, then update both
70
+ As easy as running `tsks sync`. This command will fetch your tsks from the API,
71
+ then filter what is not synchronised yet from local, then update both
71
72
  remote and local tsks with most recent data.
72
73
 
73
74
  #### To be able to sync you will need to login or register an account
@@ -84,7 +85,7 @@ Or this to register an account:
84
85
  tsks register --email=sample@mail.com --password=secret
85
86
  ```
86
87
 
87
- ## Development
88
+ ## Developing
88
89
 
89
90
  After checking out the repo, run `bin/setup` to install dependencies. Then, run
90
91
  `rake spec` to run the tests. You can also run `bin/console` for an interactive
@@ -93,6 +94,12 @@ prompt that will allow you to experiment.
93
94
  To install this gem onto your local machine, run `bundle exec rake install`
94
95
  (This command installs the current tsks version in your machine).
95
96
 
97
+ ## Releasing
98
+
99
+ ```sh
100
+ ./bin/release
101
+ ```
102
+
96
103
  ## Contributing
97
104
 
98
105
  Bug reports and pull requests are welcome on GitHub at https://github.com/luanrvmood/tsks.
data/bin/install ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle exec rake install
data/bin/test ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ bundle exec rake spec
data/lib/tsks/actions.rb CHANGED
@@ -2,11 +2,11 @@ require "tsks/storage"
2
2
 
3
3
  module Tsks
4
4
  class Actions
5
- def self.update_tsks_with_uuid uuid
5
+ def self.update_tsks_with_user_id user_id
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: uuid}
9
+ Tsks::Storage.update tsk[:local_id], {user_id: user_id}
10
10
  end
11
11
  end
12
12
 
@@ -22,10 +22,10 @@ module Tsks
22
22
 
23
23
  def self.get_tsk_status status
24
24
  available_status = {
25
- todo: '+',
26
- done: '-',
27
- doing: '*',
28
- freezed: '||',
25
+ todo: '-',
26
+ done: '*',
27
+ doing: '+',
28
+ freezed: '!',
29
29
  archived: 'x',
30
30
  }
31
31
 
data/lib/tsks/cli.rb CHANGED
@@ -21,7 +21,7 @@ module Tsks
21
21
  puts "tsks #{Tsks::VERSION}"
22
22
  end
23
23
 
24
- desc "init", "Setup tsks folder and storage"
24
+ desc "init", "setup tsks folder and storage"
25
25
  def init
26
26
  if File.directory? CLI.setup_folder
27
27
  return puts "tsks was already initialized."
@@ -31,7 +31,7 @@ module Tsks
31
31
  Tsks::Storage.init
32
32
  end
33
33
 
34
- desc "add TSK", "Add a new tsk (Use --context to specify one e.g. Work)"
34
+ desc "add TSK", "add a new tsk (Use --context to specify one e.g. Work)"
35
35
  option :context
36
36
  def add tsk
37
37
  if !File.directory? CLI.setup_folder
@@ -45,7 +45,7 @@ module Tsks
45
45
  end
46
46
  end
47
47
 
48
- desc "done ID", "Mark a tsk you have already done"
48
+ desc "done ID", "mark a tsk you have already done"
49
49
  def done id
50
50
  if !File.directory? CLI.setup_folder
51
51
  return puts "tsks was not initialized yet."
@@ -54,7 +54,7 @@ module Tsks
54
54
  Tsks::Storage.update id
55
55
  end
56
56
 
57
- desc "list", "See all active tsks, filter by context or that are done"
57
+ desc "list", "see all active tsks, filter by context or that are done"
58
58
  option :done, type: :boolean
59
59
  option :context
60
60
  def list
@@ -80,11 +80,11 @@ module Tsks
80
80
  puts "#{tsk_status} | #{tsk[:local_id]} #{tsk[:tsk]} @#{tsk[:context]}"
81
81
  end
82
82
  else
83
- puts "No tsks found."
83
+ puts "no tsks found."
84
84
  end
85
85
  end
86
86
 
87
- desc "register", "Register an e-mail to be able to sync your tsks"
87
+ desc "register", "register an e-mail to be able to sync your tsks"
88
88
  option :email, required: true
89
89
  option :password, required: true
90
90
  def register
@@ -93,25 +93,25 @@ module Tsks
93
93
  end
94
94
 
95
95
  begin
96
- res = Tsks::Request.post "/register", {email: options[:email],
97
- password: options[:password]}
96
+ res = Tsks::Request.post "/signup", {email: options[:email],
97
+ password: options[:password]}
98
98
 
99
99
  if res && res[:ok] == true
100
- File.write File.join(CLI.setup_folder, "token"), res[:token]
101
- File.write File.join(CLI.setup_folder, "user_id"), res[:user_id]
102
- Tsks::Actions.update_tsks_with_uuid res[:user_id]
103
- puts "Succesfully registered."
100
+ File.write File.join(CLI.setup_folder, "token"), res[:user][:auth_token]
101
+ File.write File.join(CLI.setup_folder, "user_id"), res[:user][:id]
102
+ Tsks::Actions.update_tsks_with_user_id res[:user][:id]
103
+ puts "succesfully registered."
104
104
  elsif res && res[:ok] == false
105
- puts "This e-mail is already registered."
105
+ puts "this e-mail is already registered."
106
106
  end
107
107
  rescue Errno::ECONNREFUSED, SocketError
108
- puts "Failed to connect to the API."
108
+ puts "failed to connect to API."
109
109
  rescue JSON::ParserError
110
- puts "Error on reading data from the API."
110
+ puts "error on reading data from API."
111
111
  end
112
112
  end
113
113
 
114
- desc "login", "Login to be able to sync your tsks"
114
+ desc "login", "login to be able to sync your tsks"
115
115
  option :email, required: true
116
116
  option :password, required: true
117
117
  def login
@@ -120,37 +120,37 @@ module Tsks
120
120
  end
121
121
 
122
122
  begin
123
- res = Tsks::Request.post "/login", {email: options[:email],
124
- password: options[:password]}
123
+ res = Tsks::Request.post "/signin", {email: options[:email],
124
+ password: options[:password]}
125
125
 
126
126
  if res && res[:ok] == true
127
- File.write File.join(CLI.setup_folder, "token"), res[:token]
128
- File.write File.join(CLI.setup_folder, "user_id"), res[:user_id]
129
- Tsks::Actions.update_tsks_with_uuid res[:user_id]
130
- puts "Succesfully logged in."
127
+ File.write File.join(CLI.setup_folder, "token"), res[:user][:auth_token]
128
+ File.write File.join(CLI.setup_folder, "user_id"), res[:user][:id]
129
+ Tsks::Actions.update_tsks_with_user_id res[:user][:id]
130
+ puts "succesfully logged in."
131
131
  elsif res && res[:ok] == false
132
- puts "Invalid e-mail or password."
132
+ puts "invalid e-mail or password."
133
133
  end
134
134
  rescue Errno::ECONNREFUSED, SocketError
135
- puts "Failed to connect to the API."
135
+ puts "failed to connect to API."
136
136
  rescue JSON::ParserError
137
- puts "Error on reading data from the API."
137
+ puts "error on reading data from API."
138
138
  end
139
139
  end
140
140
 
141
- desc "sync", "Synchronize your tsks"
141
+ desc "sync", "synchronize your tsks"
142
142
  def sync
143
143
  if !File.directory? CLI.setup_folder
144
144
  return puts "tsks was not initialized yet."
145
145
  end
146
146
 
147
147
  if !File.exist? File.join CLI.setup_folder, "token"
148
- return puts "Please, login before try to sync."
148
+ return puts "please, login before try to sync."
149
149
  end
150
150
 
151
151
  user_id = File.read File.join CLI.setup_folder, "user_id"
152
152
  token = File.read File.join CLI.setup_folder, "token"
153
- Tsks::Actions.update_tsks_with_uuid user_id
153
+ Tsks::Actions.update_tsks_with_user_id user_id
154
154
  Tsks::Actions.update_server_for_removed_tsks token
155
155
  Tsks::Storage.delete_removed_uuids
156
156
  local_tsks = Tsks::Storage.select_all local_id=false
@@ -168,7 +168,9 @@ module Tsks
168
168
  if get_res[:ok] == true
169
169
  local_tsks_to_post = local_tsks - remote_tsks
170
170
  if local_tsks_to_post.count > 0
171
- Tsks::Request.post "/tsks", token, {tsks: local_tsks_to_post}
171
+ for tsk in local_tsks_to_post
172
+ Tsks::Request.post "/tsks", token, {tsk: tsk}
173
+ end
172
174
  end
173
175
 
174
176
  remote_tsks_to_storage = remote_tsks - local_tsks
@@ -176,13 +178,13 @@ module Tsks
176
178
  Tsks::Storage.insert_many remote_tsks_to_storage
177
179
  end
178
180
 
179
- puts "Your tsks were succesfully synchronized."
181
+ puts "your tsks were succesfully synchronized."
180
182
  end
181
183
  end
182
184
  rescue Errno::ECONNREFUSED, SocketError
183
- puts "Failed to connect to the API."
185
+ puts "failed to connect to API."
184
186
  rescue JSON::ParserError
185
- puts "Error on reading data from the API."
187
+ puts "error on reading data from API."
186
188
  end
187
189
  end
188
190
 
@@ -194,7 +196,7 @@ module Tsks
194
196
 
195
197
  op_status = Tsks::Storage.delete id
196
198
  if !op_status
197
- puts "The specified tsk do not exist."
199
+ puts "the specified tsk do not exist."
198
200
  end
199
201
  end
200
202
  end
data/lib/tsks/request.rb CHANGED
@@ -2,7 +2,7 @@ require "httparty"
2
2
 
3
3
  module Tsks
4
4
  class Request
5
- @base_uri = "https://tsks-api.herokuapp.com/v1"
5
+ @base_uri = "https://tsks-api.onrender.com/v1"
6
6
 
7
7
  def self.base_uri
8
8
  @base_uri
data/lib/tsks/storage.rb CHANGED
@@ -11,7 +11,7 @@ module Tsks
11
11
  user_id INTEGER DEFAULT 1,
12
12
  tsk VARCHAR NOT NULL,
13
13
  status VARCHAR DEFAULT todo,
14
- context VARCHAR DEFAULT Inbox,
14
+ context VARCHAR DEFAULT inbox,
15
15
  created_at VARCHAR NOT NULL,
16
16
  updated_at VARCHAR NOT NULL
17
17
  )
data/lib/tsks/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Tsks
2
- VERSION = "0.0.8"
2
+ VERSION = "0.0.10"
3
3
  end
data/tsks.gemspec CHANGED
@@ -3,10 +3,10 @@ require_relative 'lib/tsks/version'
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "tsks"
5
5
  spec.version = Tsks::VERSION
6
- spec.authors = ["Luan F. R. Vicente"]
6
+ spec.authors = ["Luan Ramos Vicente"]
7
7
  spec.email = ["luanrvmood@gmail.com"]
8
- spec.summary = "A stateful command line interface to help you handle your daily tsks (with synchronisation and contexts!)"
9
- spec.homepage = "https://github.com/luanrvmood/tsks"
8
+ spec.summary = "A stateful command line interface to help you handle your daily tsks (with synchronisation and contexts)"
9
+ spec.homepage = "https://github.com/luanrv/tsks"
10
10
  spec.required_ruby_version = Gem::Requirement.new(">= 2.3.0")
11
11
  spec.metadata["allowed_push_host"] = "https://rubygems.org"
12
12
  spec.metadata["homepage_uri"] = spec.homepage
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.8
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
- - Luan F. R. Vicente
7
+ - Luan Ramos Vicente
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-04-16 00:00:00.000000000 Z
11
+ date: 2023-05-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -97,7 +97,9 @@ files:
97
97
  - README.md
98
98
  - Rakefile
99
99
  - bin/console
100
+ - bin/install
100
101
  - bin/setup
102
+ - bin/test
101
103
  - exe/tsks
102
104
  - lib/tsks.rb
103
105
  - lib/tsks/actions.rb
@@ -106,12 +108,12 @@ files:
106
108
  - lib/tsks/storage.rb
107
109
  - lib/tsks/version.rb
108
110
  - tsks.gemspec
109
- homepage: https://github.com/luanrvmood/tsks
111
+ homepage: https://github.com/luanrv/tsks
110
112
  licenses: []
111
113
  metadata:
112
114
  allowed_push_host: https://rubygems.org
113
- homepage_uri: https://github.com/luanrvmood/tsks
114
- source_code_uri: https://github.com/luanrvmood/tsks
115
+ homepage_uri: https://github.com/luanrv/tsks
116
+ source_code_uri: https://github.com/luanrv/tsks
115
117
  post_install_message:
116
118
  rdoc_options: []
117
119
  require_paths:
@@ -131,5 +133,5 @@ rubygems_version: 3.3.7
131
133
  signing_key:
132
134
  specification_version: 4
133
135
  summary: A stateful command line interface to help you handle your daily tsks (with
134
- synchronisation and contexts!)
136
+ synchronisation and contexts)
135
137
  test_files: []