journal-cli 1.0.15 → 1.0.16

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: c9552de8da086f7b0f989037ed511bf3a3b8bfd1caa6a14fa30699fd0ee50023
4
- data.tar.gz: 6983e3f0822f29dc68963bc20708a437173fd35235334aeabe7473250d731979
3
+ metadata.gz: f3855c36879c6970f3e312add21e3b1d4b8667c69d32d32d59389211a47ce87a
4
+ data.tar.gz: 8b7fe4a087f81ed075ad41bbfe84df52e250779fae1591719138d90dfbf6e093
5
5
  SHA512:
6
- metadata.gz: fddcd96db70769cada2847010d847aea3373c813378e24d2013be39629735c45ad2935951183d21f56c5d1f7a0646d41c3b67b6596e5ad5ccdd81571c92331e5
7
- data.tar.gz: e7aead96f200fb34603acf24486b9c45f7a72f6922e56b13fee71b52ad18a0baa6436dcec9743ff353231769230ab9d6f19541ae04fc3d40cce1efbe97a10be4
6
+ metadata.gz: 81f6c91df724bd480d8c67284c23b7d1405f5bffbfb2a5626a03ede1444decd3fa6c77f1c55c8414ad65f7c3c1359f58e7a559d592ae43ac76cca4e1e0794be6
7
+ data.tar.gz: 756849fb99ee4e287a5e3943b35c3bb1d6b7d1a9cf72d9441b7c849060a80300d310809a8b6ac3e74d9f7b6afbdff4bf968891f020857746ca77773b15e2b09f
data/.gitignore CHANGED
@@ -65,3 +65,4 @@ build-iPhoneSimulator/
65
65
  # Used by RuboCop. Remote config files pulled in from inherit_from directive.
66
66
  # .rubocop-https?--*
67
67
  html
68
+ *.bak
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ### 1.0.16
2
+
3
+ 2023-09-07 11:12
4
+
5
+ #### IMPROVED
6
+
7
+ - Use optparse for command line options
8
+ - Completion-friendly list of journals with `journal -l`
9
+
1
10
  ### 1.0.15
2
11
 
3
12
  2023-09-07 07:57
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- journal-cli (1.0.15)
4
+ journal-cli (1.0.16)
5
5
  chronic (~> 0.10, >= 0.10.2)
6
6
 
7
7
  GEM
data/bin/journal CHANGED
@@ -2,17 +2,20 @@
2
2
 
3
3
  $LOAD_PATH.unshift File.join(__dir__, '..', 'lib')
4
4
  require 'journal-cli'
5
+ require 'optparse'
5
6
 
6
7
  module Journal
7
8
  class << self
8
9
  def usage
9
- puts "journal v#{Journal::VERSION}"
10
- puts
11
10
  puts 'Usage: journal [type] [date]'
12
11
  puts
13
12
  puts 'Available journal types:'
13
+ list_journals
14
+ end
15
+
16
+ def list_journals
14
17
  config = Journal.config
15
- puts(config['journals'].keys.map { |k| "- #{k}" })
18
+ puts config['journals'].keys
16
19
  end
17
20
 
18
21
  def run(args)
@@ -22,15 +25,6 @@ module Journal
22
25
  Process.exit 1
23
26
  end
24
27
 
25
- case args[0]
26
- when /(-v|--version)/
27
- puts "journal v#{Journal::VERSION}"
28
- Process.exit 0
29
- when /(help|-h|--help)/
30
- usage
31
- Process.exit 0
32
- end
33
-
34
28
  journal = args.shift
35
29
 
36
30
  date = if args.length.positive?
@@ -51,4 +45,29 @@ module Journal
51
45
  end
52
46
  end
53
47
 
48
+ optparse = OptionParser.new do |opts|
49
+ opts.banner = 'Usage: journal JOURNAL_KEY [NATURAL LANGUAGE DATE]'
50
+
51
+ opts.on('-v', '--version', 'Display version') do
52
+ puts "journal v#{Journal::VERSION}"
53
+ Process.exit 0
54
+ end
55
+
56
+ opts.on('-l', '--list', 'List available journals') do
57
+ Journal.list_journals
58
+ Process.exit 0
59
+ end
60
+
61
+ opts.on('-h', '--help', 'Display help') do
62
+ puts opts
63
+ puts
64
+ puts 'Available journal types:'
65
+ config = Journal.config
66
+ puts(config['journals'].keys.map { |k| "- #{k}" })
67
+ Process.exit 0
68
+ end
69
+ end
70
+
71
+ optparse.parse!
72
+
54
73
  Journal.run(ARGV)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Journal
4
- VERSION = '1.0.15'
4
+ VERSION = '1.0.16'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: journal-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.15
4
+ version: 1.0.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brett Terpstra