tsks 0.0.8 → 0.0.10

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