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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3861707860a4a5fabaf36726dee7e0e96d806bcfb3186f8d89e20fb31ace4e8e
4
- data.tar.gz: e4a55a32155286f7e06064795d77b2611a17e6c4a6534f850ea1e1798f5002d1
3
+ metadata.gz: d8d6d3094654b2846aad88459d296d5f80806095ed1e4c904ffac4de3d0c06d9
4
+ data.tar.gz: 3f8b51f4d5cbfe4458866bb2cf2298f3ebc953de04b69ac0381fe3ca859ddef4
5
5
  SHA512:
6
- metadata.gz: 754a8cc8c7a0a503f1feec3a46d725fefc793cbc41514f592e4c8bdcccec14d87926d11b0833abb44e5afe69ab141f30681b6d653008dfaca28f12bef70d2ac7
7
- data.tar.gz: 3923c3a626568dc5f20478c6235c98305dda0ac7536618f65337d7a9123c7ec8148d70dedc58e393638e651bbfee0e05ff66edef2f495d9657df9933ecdb1788
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 deleting archived todo items
17
+ archiving, prioritizing, and analyzing todo items
18
18
  - Smart colored output
19
- - Uses YAML for storage by default (There's an option to use TOML but no configuration for it, yet)
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
@@ -1,3 +1,3 @@
1
1
  module Nin
2
- VERSION='1.0.0'
2
+ VERSION='1.0.1'
3
3
  end
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.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-01 00:00:00.000000000 Z
11
+ date: 2019-12-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: chronic