journal-cli 1.0.15 → 1.0.16

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