journal-cli 1.0.14 → 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: 10242acbf794f1f5e37dc3a2048c248d15c3b478e6e07ef715bb9805e7d76422
4
- data.tar.gz: 68e6a0adce0a131e1d23d2e8ab0e513f1c4e609f18cd7e1d9ca5a8e8916c3352
3
+ metadata.gz: f3855c36879c6970f3e312add21e3b1d4b8667c69d32d32d59389211a47ce87a
4
+ data.tar.gz: 8b7fe4a087f81ed075ad41bbfe84df52e250779fae1591719138d90dfbf6e093
5
5
  SHA512:
6
- metadata.gz: 406045f38a8ba65d1d5bbec21f49dbb6024a0934a143b9968f00884b2f7d42b812ece2cfab320adc953174f4b8960d7c480b99f4866f00761f1eab7760baae56
7
- data.tar.gz: ab3b5d5a3bf95420048bc0109b6f5cb6926c3ec10d4dc51e5eeeea852d0cf241ea88ff3253bdb2603e8af71585d2ea89f0dec9e44e11a752eb1cf4866a078080
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,20 @@
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
+
10
+ ### 1.0.15
11
+
12
+ 2023-09-07 07:57
13
+
14
+ #### FIXED
15
+
16
+ - Messed up the fix for nested keys
17
+
1
18
  ### 1.0.14
2
19
 
3
20
  2023-09-07 07:35
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- journal-cli (1.0.14)
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)
@@ -214,8 +214,6 @@ module Journal
214
214
  output[jk] = {}
215
215
  journal.answers.each do |k, v|
216
216
  if v.is_a? Hash
217
- output[jk][k] = {}
218
-
219
217
  v.each do |key, value|
220
218
  result = case value.class.to_s
221
219
  when /Weather/
@@ -224,17 +222,15 @@ module Journal
224
222
  value
225
223
  end
226
224
  if jk == k
227
- output[jk] = result
225
+ output[jk][key] = result
228
226
  else
229
- output[jk][k] = result
227
+ output[jk][k][key] = result
230
228
  end
231
229
  end
230
+ elsif jk == k
231
+ output[jk] = v
232
232
  else
233
- if jk == k
234
- output[jk] = v
235
- else
236
- output[jk][k] = v
237
- end
233
+ output[jk][k] = v
238
234
  end
239
235
  end
240
236
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Journal
4
- VERSION = '1.0.14'
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.14
4
+ version: 1.0.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brett Terpstra