nin 1.0.0 → 1.0.1
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 +4 -4
- data/README.md +35 -9
- data/Rakefile +7 -0
- data/lib/nin/presenters/todo_presenter.rb +2 -0
- data/lib/nin/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d8d6d3094654b2846aad88459d296d5f80806095ed1e4c904ffac4de3d0c06d9
|
4
|
+
data.tar.gz: 3f8b51f4d5cbfe4458866bb2cf2298f3ebc953de04b69ac0381fe3ca859ddef4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a8f6db899bad0219bb28b7ed1d86c6e948b29ca28d4b017106f7ffc379bfefc82794a2dca45e8872468f3be556a31432d5e5b76004b91498239d428f56ae9491
|
7
|
+
data.tar.gz: d81b09f774728f8ec0f1df871b7cab86c3049e8fa372cfea2fda0fa88f812abc276c576fe79f6a621c70c58bee3489d3f9d2d67a650ee8c762251212713a1801
|
data/README.md
CHANGED
@@ -12,11 +12,11 @@
|
|
12
12
|
|
13
13
|
## Features
|
14
14
|
|
15
|
-
- Simple, easy-to-use CLI
|
15
|
+
- Simple, intuitive, and easy-to-use CLI
|
16
16
|
- Currently supports: listing, adding, editing, deleting, completing,
|
17
|
-
archiving, and
|
17
|
+
archiving, prioritizing, and analyzing todo items
|
18
18
|
- Smart colored output
|
19
|
-
- Uses YAML for storage by default (There's
|
19
|
+
- Uses YAML for storage by default (There's the option to add other stores but no configuration for it, yet)
|
20
20
|
- Modular code covered by unit tests
|
21
21
|
|
22
22
|
## Installation
|
@@ -25,12 +25,6 @@
|
|
25
25
|
gem install nin
|
26
26
|
```
|
27
27
|
|
28
|
-
To run the tests:
|
29
|
-
|
30
|
-
```console
|
31
|
-
rake
|
32
|
-
```
|
33
|
-
|
34
28
|
## Usage
|
35
29
|
|
36
30
|
```console
|
@@ -54,6 +48,38 @@ COMMANDS:
|
|
54
48
|
o | open Open todo file in $EDITOR
|
55
49
|
```
|
56
50
|
|
51
|
+
- Print the usage instructions by calling `nin` without commands or arguments
|
52
|
+
- Each command has a short and a long name, for example, `l` and `list`
|
53
|
+
- You can utilize the power of the CLI by using shell commands and tools to
|
54
|
+
help you do various tasks. For example, run `nin list | grep school` to
|
55
|
+
filter items tagged as school
|
56
|
+
- For adding a due date to an item, prefix the date by an `@`. If no date is
|
57
|
+
passed, the default is always the date of the current day
|
58
|
+
- For adding tags, you need to prefix a `#` by a `\` (e.g., `\#`) in order for
|
59
|
+
the shell to interpret it as an actual `#`. Please note that you don't need
|
60
|
+
to do this in the REPL mode
|
61
|
+
- The `edit` command edits the description of an item. If a date is passed, its
|
62
|
+
date will be updated. If one or more tags are passed, they will be added to
|
63
|
+
that item's tag list
|
64
|
+
- Commands `complete`, `archive`, and `delete` can update multiple items at
|
65
|
+
once by passing multiple id's as arguments
|
66
|
+
- The `prioritize` command can take a positive or a negative weight as a step
|
67
|
+
to either prioritize the item up or down, respectively. The step is always
|
68
|
+
bound to the smallest and largest id in the current items date group. For
|
69
|
+
example, passing a 1 as as step prioritizes the item by one item up and
|
70
|
+
passing -2 prioritizes the item by 2 items down
|
71
|
+
- REPL (interactive) mode is where you can pass commands and arguments without
|
72
|
+
the need to call `nin` every time and can be triggered by calling `nin i` or
|
73
|
+
`nin repl`
|
74
|
+
|
75
|
+
## Development
|
76
|
+
|
77
|
+
- Install a recent version of `Ruby` and `Bundler`
|
78
|
+
- Run `bundle install` to install the dependencies
|
79
|
+
- Run `bundle exec rake` to run the test suite
|
80
|
+
- Run `gem build nin.gemspec` to build a new version
|
81
|
+
- To push a new version to RubyGems, run `gem push nin-VERSION-NUMBER.gem`
|
82
|
+
|
57
83
|
## Why
|
58
84
|
|
59
85
|
Why write another todo app? I like to use the terminal for everything and I've
|
data/Rakefile
CHANGED
@@ -7,3 +7,10 @@ Rake::TestTask.new(:test) do |t|
|
|
7
7
|
end
|
8
8
|
|
9
9
|
task :default => :test
|
10
|
+
|
11
|
+
task :publish do
|
12
|
+
build_name_and_version = "nin-#{Nin::VERSION}.gem"
|
13
|
+
|
14
|
+
system "gem build nin.gemspec --silent --output #{build_name_and_version}"
|
15
|
+
system "gem push #{build_name_and_version}"
|
16
|
+
end
|
@@ -2,6 +2,8 @@ module Nin
|
|
2
2
|
module Presenter
|
3
3
|
class TodoPresenter < ::SimpleDelegator
|
4
4
|
def call
|
5
|
+
return 'No todo items yet. Call `nin add hello world` to add a new item.' if self.empty?
|
6
|
+
|
5
7
|
formatting_options = { separating_spaces: 4,
|
6
8
|
longest_id: self.map(&:id).max.length,
|
7
9
|
longest_date: 11 }
|
data/lib/nin/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ahmed Saleh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-12-
|
11
|
+
date: 2019-12-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: chronic
|