noko_cli 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.overcommit.yml +41 -0
- data/.rubocop.yml +10 -0
- data/.ruby-version +1 -1
- data/CHANGELOG.md +28 -3
- data/Gemfile +4 -1
- data/Gemfile.lock +46 -11
- data/README.md +8 -22
- data/Rakefile +7 -2
- data/exe/noko_cli +6 -0
- data/lib/noko_cli/entries.rb +49 -0
- data/lib/noko_cli/version.rb +1 -1
- data/lib/noko_cli.rb +5 -3
- metadata +66 -6
- data/.standard.yml +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d780be4c41c8d0cff7f3e342841085d8fcb558eadc6502c5d36fbbe8c84decad
|
4
|
+
data.tar.gz: 1308b2f5e9d97e5e2b6fd63b6d8768ba5522d5599653c619264f787f5f9bab79
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c3429ac28510732444354e9d1dbfbba0bee6a2b086aae8b3ef2262ba9b0eca39d20e06d71e137dd1696e9c1b328a1b14ccbb002685b5c706772f2b093c60742e
|
7
|
+
data.tar.gz: c7eb6d562c9bd1a126aaefe07e342113728be25ff22b4e794c44f8c46363884f81be9e999f9802f652122299d65f5d9a4a9ba9fecbcf91fb967180bcfbed93c1
|
data/.overcommit.yml
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
# Use this file to configure the Overcommit hooks you wish to use. This will
|
2
|
+
# extend the default configuration defined in:
|
3
|
+
# https://github.com/sds/overcommit/blob/master/config/default.yml
|
4
|
+
#
|
5
|
+
# At the topmost level of this YAML file is a key representing type of hook
|
6
|
+
# being run (e.g. pre-commit, commit-msg, etc.). Within each type you can
|
7
|
+
# customize each hook, such as whether to only run it on certain files (via
|
8
|
+
# `include`), whether to only display output if it fails (via `quiet`), etc.
|
9
|
+
#
|
10
|
+
# For a complete list of hooks, see:
|
11
|
+
# https://github.com/sds/overcommit/tree/master/lib/overcommit/hook
|
12
|
+
#
|
13
|
+
# For a complete list of options that you can use to customize hooks, see:
|
14
|
+
# https://github.com/sds/overcommit#configuration
|
15
|
+
#
|
16
|
+
# Uncomment the following lines to make the configuration take effect.
|
17
|
+
|
18
|
+
#PostCheckout:
|
19
|
+
# ALL: # Special hook name that customizes all hooks of this type
|
20
|
+
# quiet: true # Change all post-checkout hooks to only display output on failure
|
21
|
+
#
|
22
|
+
# IndexTags:
|
23
|
+
# enabled: true # Generate a tags file with `ctags` each time HEAD changes
|
24
|
+
|
25
|
+
PreCommit:
|
26
|
+
TrailingWhitespace:
|
27
|
+
enabled: true
|
28
|
+
RuboCop:
|
29
|
+
enabled: true
|
30
|
+
command: ["bundle", "exec", "rubocop"]
|
31
|
+
|
32
|
+
PrePush:
|
33
|
+
RSpec:
|
34
|
+
enabled: true
|
35
|
+
|
36
|
+
PostCheckout:
|
37
|
+
ALL:
|
38
|
+
quiet: true
|
39
|
+
|
40
|
+
IndexTags:
|
41
|
+
enabled: true
|
data/.rubocop.yml
ADDED
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
2.6.6
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,30 @@
|
|
1
|
-
|
1
|
+
# Changelog
|
2
2
|
|
3
|
-
## [0.1.0
|
3
|
+
## [0.2.0](https://github.com/JuanVqz/noko_cli/compare/v0.1.2...v0.2.0) (2022-07-31)
|
4
4
|
|
5
|
-
|
5
|
+
|
6
|
+
### Features
|
7
|
+
|
8
|
+
* **gems:** Add zeitwerk configuration ([#34](https://github.com/JuanVqz/noko_cli/issues/34)) ([535bd6b](https://github.com/JuanVqz/noko_cli/commit/535bd6bbbe172b197a16931dd39453458c4ecd7b)), closes [#31](https://github.com/JuanVqz/noko_cli/issues/31)
|
9
|
+
|
10
|
+
|
11
|
+
### Miscellaneous
|
12
|
+
|
13
|
+
* **noko_cli:** Show project's name in entries list ([#36](https://github.com/JuanVqz/noko_cli/issues/36)) ([e9c303a](https://github.com/JuanVqz/noko_cli/commit/e9c303abba74f9154a8f42c76897f953f5045e1d)), closes [#35](https://github.com/JuanVqz/noko_cli/issues/35)
|
14
|
+
* **workflows:** Fix release typo ([#32](https://github.com/JuanVqz/noko_cli/issues/32)) ([3d6a359](https://github.com/JuanVqz/noko_cli/commit/3d6a359ddb0f3edef1c80acd2072567f4ad26948))
|
15
|
+
|
16
|
+
## [0.1.2](https://github.com/JuanVqz/noko_cli/compare/v0.1.1...v0.1.2) (2022-07-23)
|
17
|
+
|
18
|
+
|
19
|
+
### Miscellaneous
|
20
|
+
|
21
|
+
* Change standard to rubocop ([#27](https://github.com/JuanVqz/noko_cli/issues/27)) ([4a28bd4](https://github.com/JuanVqz/noko_cli/commit/4a28bd400d7f14e7e47016091fa82a399988e86c))
|
22
|
+
* **GitHub-action:** Change name ([#30](https://github.com/JuanVqz/noko_cli/issues/30)) ([e4a1745](https://github.com/JuanVqz/noko_cli/commit/e4a1745c618360c1b4e616ffa3287bf56e958549))
|
23
|
+
* **readme:** Update test status ([5db36b9](https://github.com/JuanVqz/noko_cli/commit/5db36b9b7d1cbb7c0761af9e8503c5ef3fdef8ec))
|
24
|
+
|
25
|
+
## 0.1.1 (2022-07-03)
|
26
|
+
|
27
|
+
|
28
|
+
### Miscellaneous
|
29
|
+
|
30
|
+
* Add release-please config ([6d26c03](https://github.com/JuanVqz/noko_cli/commit/6d26c0368e3529b850f350e0ea42ac1e5beca4d9))
|
data/Gemfile
CHANGED
@@ -7,4 +7,7 @@ gemspec
|
|
7
7
|
|
8
8
|
gem "rake", "~> 13.0"
|
9
9
|
gem "rspec", "~> 3.0"
|
10
|
-
gem "
|
10
|
+
gem "rubocop", "~> 1.31.1", require: false
|
11
|
+
gem "rubocop-performance", "~> 1.14.2", require: false
|
12
|
+
gem "rubocop-rake", "~> 0.6.0", require: false
|
13
|
+
gem "rubocop-rspec", "~> 2.12.1", require: false
|
data/Gemfile.lock
CHANGED
@@ -1,16 +1,31 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
noko_cli (0.
|
4
|
+
noko_cli (0.2.0)
|
5
|
+
faraday (~> 2.3.0)
|
6
|
+
tty-table (~> 0.12.0)
|
7
|
+
zeitwerk (~> 2.6)
|
5
8
|
|
6
9
|
GEM
|
7
10
|
remote: https://rubygems.org/
|
8
11
|
specs:
|
9
12
|
ast (2.4.2)
|
13
|
+
coderay (1.1.3)
|
10
14
|
diff-lcs (1.5.0)
|
15
|
+
faraday (2.3.0)
|
16
|
+
faraday-net_http (~> 2.0)
|
17
|
+
ruby2_keywords (>= 0.0.4)
|
18
|
+
faraday-net_http (2.1.0)
|
19
|
+
json (2.6.2)
|
20
|
+
method_source (1.0.0)
|
11
21
|
parallel (1.22.1)
|
12
22
|
parser (3.1.2.0)
|
13
23
|
ast (~> 2.4.1)
|
24
|
+
pastel (0.8.0)
|
25
|
+
tty-color (~> 0.5)
|
26
|
+
pry (0.14.1)
|
27
|
+
coderay (~> 1.1)
|
28
|
+
method_source (~> 1.0)
|
14
29
|
rainbow (3.1.1)
|
15
30
|
rake (13.0.6)
|
16
31
|
regexp_parser (2.5.0)
|
@@ -28,34 +43,54 @@ GEM
|
|
28
43
|
diff-lcs (>= 1.2.0, < 2.0)
|
29
44
|
rspec-support (~> 3.11.0)
|
30
45
|
rspec-support (3.11.0)
|
31
|
-
rubocop (1.
|
46
|
+
rubocop (1.31.1)
|
47
|
+
json (~> 2.3)
|
32
48
|
parallel (~> 1.10)
|
33
49
|
parser (>= 3.1.0.0)
|
34
50
|
rainbow (>= 2.2.2, < 4.0)
|
35
51
|
regexp_parser (>= 1.8, < 3.0)
|
36
52
|
rexml (>= 3.2.5, < 4.0)
|
37
|
-
rubocop-ast (>= 1.
|
53
|
+
rubocop-ast (>= 1.18.0, < 2.0)
|
38
54
|
ruby-progressbar (~> 1.7)
|
39
55
|
unicode-display_width (>= 1.4.0, < 3.0)
|
40
56
|
rubocop-ast (1.18.0)
|
41
57
|
parser (>= 3.1.1.0)
|
42
|
-
rubocop-performance (1.
|
58
|
+
rubocop-performance (1.14.2)
|
43
59
|
rubocop (>= 1.7.0, < 2.0)
|
44
60
|
rubocop-ast (>= 0.4.0)
|
61
|
+
rubocop-rake (0.6.0)
|
62
|
+
rubocop (~> 1.0)
|
63
|
+
rubocop-rspec (2.12.1)
|
64
|
+
rubocop (~> 1.31)
|
45
65
|
ruby-progressbar (1.11.0)
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
66
|
+
ruby2_keywords (0.0.5)
|
67
|
+
strings (0.2.1)
|
68
|
+
strings-ansi (~> 0.2)
|
69
|
+
unicode-display_width (>= 1.5, < 3.0)
|
70
|
+
unicode_utils (~> 1.4)
|
71
|
+
strings-ansi (0.2.0)
|
72
|
+
tty-color (0.6.0)
|
73
|
+
tty-screen (0.8.1)
|
74
|
+
tty-table (0.12.0)
|
75
|
+
pastel (~> 0.8)
|
76
|
+
strings (~> 0.2.0)
|
77
|
+
tty-screen (~> 0.8)
|
78
|
+
unicode-display_width (2.2.0)
|
79
|
+
unicode_utils (1.4.0)
|
80
|
+
zeitwerk (2.6.0)
|
50
81
|
|
51
82
|
PLATFORMS
|
52
|
-
|
83
|
+
ruby
|
53
84
|
|
54
85
|
DEPENDENCIES
|
55
86
|
noko_cli!
|
87
|
+
pry (~> 0.14.1)
|
56
88
|
rake (~> 13.0)
|
57
89
|
rspec (~> 3.0)
|
58
|
-
|
90
|
+
rubocop (~> 1.31.1)
|
91
|
+
rubocop-performance (~> 1.14.2)
|
92
|
+
rubocop-rake (~> 0.6.0)
|
93
|
+
rubocop-rspec (~> 2.12.1)
|
59
94
|
|
60
95
|
BUNDLED WITH
|
61
|
-
2.
|
96
|
+
2.2.29
|
data/README.md
CHANGED
@@ -1,34 +1,18 @@
|
|
1
1
|
# NokoCli
|
2
2
|
|
3
|
-
![
|
3
|
+
![build status](https://github.com/juanvqz/noko_cli/actions/workflows/main.yml/badge.svg)
|
4
4
|
|
5
|
-
Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/noko_cli`. To experiment with that code, run `bin/console` for an interactive prompt.
|
6
|
-
|
7
|
-
TODO: Delete this and the text above, and describe your gem
|
8
|
-
|
9
|
-
## Installation
|
10
|
-
|
11
|
-
Install the gem and add to the application's Gemfile by executing:
|
12
|
-
|
13
|
-
$ bundle add noko_cli
|
14
|
-
|
15
|
-
If bundler is not being used to manage dependencies, install the gem by executing:
|
16
|
-
|
17
|
-
$ gem install noko_cli
|
18
|
-
|
19
|
-
## Usage
|
20
|
-
|
21
|
-
TODO: Write usage instructions here
|
22
5
|
|
23
6
|
## Development
|
24
7
|
|
25
|
-
|
8
|
+
To setup this repository you need to run `./bin/setup`
|
26
9
|
|
27
|
-
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
28
10
|
|
29
11
|
## Contributing
|
30
12
|
|
31
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/
|
13
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/juanvqz/noko_cli.
|
14
|
+
This project is intended to be a safe, welcoming space for collaboration,
|
15
|
+
and contributors are expected to adhere to the [code of conduct](https://github.com/juanvqz/noko_cli/blob/master/CODE_OF_CONDUCT.md).
|
32
16
|
|
33
17
|
## License
|
34
18
|
|
@@ -36,4 +20,6 @@ The gem is available as open source under the terms of the [MIT License](https:/
|
|
36
20
|
|
37
21
|
## Code of Conduct
|
38
22
|
|
39
|
-
Everyone interacting in the NokoCli project's codebases, issue trackers,
|
23
|
+
Everyone interacting in the NokoCli project's codebases, issue trackers,
|
24
|
+
chat rooms and mailing lists is expected to follow the
|
25
|
+
[code of conduct](https://github.com/juanvqz/noko_cli/blob/master/CODE_OF_CONDUCT.md).
|
data/Rakefile
CHANGED
@@ -2,9 +2,14 @@
|
|
2
2
|
|
3
3
|
require "bundler/gem_tasks"
|
4
4
|
require "rspec/core/rake_task"
|
5
|
+
require "rubocop/rake_task"
|
5
6
|
|
6
7
|
RSpec::Core::RakeTask.new(:spec)
|
7
8
|
|
8
|
-
|
9
|
+
RuboCop::RakeTask.new do |task|
|
10
|
+
task.requires << "rubocop-performance"
|
11
|
+
task.requires << "rubocop-rake"
|
12
|
+
task.requires << "rubocop-rspec"
|
13
|
+
end
|
9
14
|
|
10
|
-
task default: %i[spec
|
15
|
+
task default: %i[spec rubocop]
|
data/exe/noko_cli
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "faraday"
|
4
|
+
require "tty-table"
|
5
|
+
|
6
|
+
module NokoCli
|
7
|
+
# This is an entry resource, which could be listed
|
8
|
+
class Entries
|
9
|
+
BASE_URL = "https://api.nokotime.com/v2"
|
10
|
+
NOKO_TOKEN = ENV.fetch("NOKO_TOKEN", nil)
|
11
|
+
|
12
|
+
def initialize(adapter: Faraday.default_adapter, stubs: nil)
|
13
|
+
@adapter = adapter
|
14
|
+
@stubs = stubs
|
15
|
+
end
|
16
|
+
|
17
|
+
def list
|
18
|
+
puts TTY::Table.new(headers, rows).render(:ascii, resize: true)
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
def conn
|
24
|
+
@conn ||= Faraday.new({ url: BASE_URL, params: { noko_token: NOKO_TOKEN } }) do |f|
|
25
|
+
unless @stubs
|
26
|
+
f.request :json
|
27
|
+
f.response :json, content_type: "application/json"
|
28
|
+
end
|
29
|
+
f.adapter @adapter, @stubs
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def current_user_entries
|
34
|
+
conn.get("current_user/entries").body
|
35
|
+
end
|
36
|
+
|
37
|
+
def headers
|
38
|
+
%w[date minutes project description]
|
39
|
+
end
|
40
|
+
|
41
|
+
def rows
|
42
|
+
current_user_entries.map { |entry| row(entry) }
|
43
|
+
end
|
44
|
+
|
45
|
+
def row(entry)
|
46
|
+
[entry["date"], entry["minutes"], entry["project"]["name"], entry["description"]]
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
data/lib/noko_cli/version.rb
CHANGED
data/lib/noko_cli.rb
CHANGED
@@ -1,8 +1,10 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
3
|
+
require "zeitwerk"
|
4
4
|
|
5
|
+
loader = Zeitwerk::Loader.for_gem
|
6
|
+
loader.setup
|
7
|
+
|
8
|
+
# The main task of this gem is allow users list and create new entries.
|
5
9
|
module NokoCli
|
6
|
-
class Error < StandardError; end
|
7
|
-
# Your code goes here...
|
8
10
|
end
|
metadata
CHANGED
@@ -1,28 +1,86 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: noko_cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Juan Vasquez
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
12
|
-
dependencies:
|
11
|
+
date: 2022-07-31 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: faraday
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 2.3.0
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.3.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: tty-table
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.12.0
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 0.12.0
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: zeitwerk
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '2.6'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '2.6'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: pry
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.14.1
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 0.14.1
|
13
69
|
description: 'Noko CLI is the easiest way to add, remove, and view all your entries
|
14
70
|
from your terminal.
|
15
71
|
|
16
72
|
'
|
17
73
|
email:
|
18
74
|
- me@juanvasquez.dev
|
19
|
-
executables:
|
75
|
+
executables:
|
76
|
+
- noko_cli
|
20
77
|
extensions: []
|
21
78
|
extra_rdoc_files: []
|
22
79
|
files:
|
80
|
+
- ".overcommit.yml"
|
23
81
|
- ".rspec"
|
82
|
+
- ".rubocop.yml"
|
24
83
|
- ".ruby-version"
|
25
|
-
- ".standard.yml"
|
26
84
|
- CHANGELOG.md
|
27
85
|
- CODE_OF_CONDUCT.md
|
28
86
|
- Gemfile
|
@@ -30,7 +88,9 @@ files:
|
|
30
88
|
- LICENSE.txt
|
31
89
|
- README.md
|
32
90
|
- Rakefile
|
91
|
+
- exe/noko_cli
|
33
92
|
- lib/noko_cli.rb
|
93
|
+
- lib/noko_cli/entries.rb
|
34
94
|
- lib/noko_cli/version.rb
|
35
95
|
- sig/noko_cli.rbs
|
36
96
|
homepage: https://github.com/juanvqz/noko_cli
|
@@ -53,7 +113,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
53
113
|
- !ruby/object:Gem::Version
|
54
114
|
version: '0'
|
55
115
|
requirements: []
|
56
|
-
rubygems_version: 3.
|
116
|
+
rubygems_version: 3.0.3
|
57
117
|
signing_key:
|
58
118
|
specification_version: 4
|
59
119
|
summary: Register Noko entries from the comfort of your terminal
|
data/.standard.yml
DELETED