journal-cli 1.0.14 → 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: 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