journal-cli 1.0.18 → 1.0.19

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: 2ebc5eaefc846fb4343859ff0148a7798e93e2a4bcc04c5c73ce18151e59ea94
4
- data.tar.gz: 87ca031548e115350383a28da8ec853d6d665dd2a9c88ac3ea32105350120785
3
+ metadata.gz: ac1922ce0228559564036c16e95a4d3042ff0dd36a5eb1137286ec7377b0919b
4
+ data.tar.gz: 57a0801095a4f5809607819d8eaded1840b4ba5db9ebc41a9090abde76995644
5
5
  SHA512:
6
- metadata.gz: 7d15d09cce5d189a2d6168e02e9c3122334a88ea9e011b82fa97b0a732901913b6668407f3474211ef6b40b3b068363d9778ff4471a8ded4366089338f3fd7af
7
- data.tar.gz: 3bce2d14e6d5f078b481b9d38184e9cd005c336aeecb36bf4a5daa8b7ef66510c60d46d3cd9db97e254266c8c91a07bbf209785b3aedd2d27f6a255e256f0341
6
+ metadata.gz: c2811f0647206c869d8c7708f90fcdcc0833c3de261d6024bc5ec5a164d2117b25de7d570e4676103e88387ff407fa3a4d8744b6cef6f63c220ad942c1d1c7ad
7
+ data.tar.gz: d281c93a7d23e567ad0c36d41cd417cd030011f5687f1ffcfcef07f54d01501863cdbf19ad64b2215a25ab9265b4e073cb0c26f9683d4c97868def1577c62e1c
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ### 1.0.19
2
+
3
+ 2023-09-11 10:52
4
+
5
+ #### IMPROVED
6
+
7
+ - Better output of date types in Markdown formats
8
+
1
9
  ### 1.0.18
2
10
 
3
11
  2023-09-09 12:29
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- journal-cli (1.0.18)
4
+ journal-cli (1.0.19)
5
5
  chronic (~> 0.10, >= 0.10.2)
6
6
 
7
7
  GEM
@@ -75,6 +75,7 @@ GEM
75
75
  unicode-display_width (>= 1.1.1, < 3)
76
76
  thor (1.2.1)
77
77
  unicode-display_width (2.3.0)
78
+ yard (0.9.34)
78
79
 
79
80
  PLATFORMS
80
81
  arm64-darwin-21
@@ -94,6 +95,7 @@ DEPENDENCIES
94
95
  simplecov (~> 0.21)
95
96
  simplecov-console (~> 0.9)
96
97
  standard (~> 1.3)
98
+ yard (~> 0.9, >= 0.9.26)
97
99
 
98
100
  BUNDLED WITH
99
101
  2.4.1
data/README.md CHANGED
@@ -130,6 +130,16 @@ A journal must contain a `sections` key, and each section must contain a `questi
130
130
 
131
131
  If a question has a key `secondary_question`, the prompt will be repeated with the secondary question until it's returned empty, answers will be joined together.
132
132
 
133
+ ### Question Types
134
+
135
+ A question `type` can be one of:
136
+
137
+ - `text` or `string` will request a single-line string, submitted on return
138
+ - `multiline` for multiline strings (opens a readline editor, use ctrl-d to save)
139
+ - `weather` will just insert current weather data with no prompt
140
+ - `integer` or `number` will request numeric input
141
+ - `date` will request a natural language date which will be parsed into a date object
142
+
133
143
  ### Naming Keys
134
144
 
135
145
  If you want data stored in a nested object, you can set a question type to `dictionary` and set the prompt to `null` (or just leave the key out), but give it a key that will serve as the parent in the object. Then in the nested questions, give them a key in the dot format `[PARENT_KEY].[CHILD_KEY]`. Section keys automatically nest their children, but if you want to go deeper, you could have a question with the key `health` and type `dictionary`, then have questions with keys like `health.rating` and `health.notes`. If the section key was `status`, the resulting dictionary would look like this in the JSON:
data/Rakefile CHANGED
@@ -11,7 +11,7 @@ Rake::RDocTask.new do |rd|
11
11
  end
12
12
 
13
13
  YARD::Rake::YardocTask.new do |t|
14
- t.files = ['lib/na/*.rb']
14
+ t.files = ['lib/journal-cli/*.rb']
15
15
  t.options = ['--markup-provider=redcarpet', '--markup=markdown', '--no-private', '-p', 'yard_templates']
16
16
  # t.stats_options = ['--list-undoc']
17
17
  end
data/journal-cli.gemspec CHANGED
@@ -31,6 +31,7 @@ Gem::Specification.new do |spec|
31
31
  spec.add_development_dependency "gem-release", "~> 2.2"
32
32
  spec.add_development_dependency "parse_gemspec-cli", "~> 1.0"
33
33
  spec.add_development_dependency "rake", "~> 13.0"
34
+ spec.add_development_dependency('yard', '~> 0.9', '>= 0.9.26')
34
35
  spec.add_development_dependency "rspec", "~> 3.0"
35
36
  spec.add_development_dependency "simplecov", "~> 0.21"
36
37
  spec.add_development_dependency "simplecov-console", "~> 0.9"
@@ -135,6 +135,8 @@ module Journal
135
135
  hr
136
136
  when /^(int|num)/
137
137
  @output << "#{prompt}: #{data[key]} " unless data[key].nil?
138
+ when /^date/
139
+ @output << "#{prompt}: #{data[key].strftime('%Y-%m-%d %H:%M')}" unless data[key].nil?
138
140
  else
139
141
  unless data[key].strip.empty?
140
142
  header prompt
@@ -148,8 +150,12 @@ module Journal
148
150
  data = {}
149
151
  answers.each do |k, v|
150
152
  case v.class.to_s
153
+ when /String/
154
+ next
151
155
  when /Hash/
152
156
  data[k] = weather_to_yaml(v)
157
+ when /Date/
158
+ data[k] = v.strftime('%Y-%m-%d %H:%M')
153
159
  when /Weather/
154
160
  data[k] = v.to_s
155
161
  else
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Journal
4
- VERSION = '1.0.18'
4
+ VERSION = '1.0.19'
5
5
  end
data/src/_README.md CHANGED
@@ -133,6 +133,16 @@ A journal must contain a `sections` key, and each section must contain a `questi
133
133
 
134
134
  If a question has a key `secondary_question`, the prompt will be repeated with the secondary question until it's returned empty, answers will be joined together.
135
135
 
136
+ ### Question Types
137
+
138
+ A question `type` can be one of:
139
+
140
+ - `text` or `string` will request a single-line string, submitted on return
141
+ - `multiline` for multiline strings (opens a readline editor, use ctrl-d to save)
142
+ - `weather` will just insert current weather data with no prompt
143
+ - `integer` or `number` will request numeric input
144
+ - `date` will request a natural language date which will be parsed into a date object
145
+
136
146
  ### Naming Keys
137
147
 
138
148
  If you want data stored in a nested object, you can set a question type to `dictionary` and set the prompt to `null` (or just leave the key out), but give it a key that will serve as the parent in the object. Then in the nested questions, give them a key in the dot format `[PARENT_KEY].[CHILD_KEY]`. Section keys automatically nest their children, but if you want to go deeper, you could have a question with the key `health` and type `dictionary`, then have questions with keys like `health.rating` and `health.notes`. If the section key was `status`, the resulting dictionary would look like this in the JSON:
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: journal-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.18
4
+ version: 1.0.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brett Terpstra
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-09 00:00:00.000000000 Z
11
+ date: 2023-09-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -66,6 +66,26 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '13.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: yard
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.9'
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: 0.9.26
79
+ type: :development
80
+ prerelease: false
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - "~>"
84
+ - !ruby/object:Gem::Version
85
+ version: '0.9'
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: 0.9.26
69
89
  - !ruby/object:Gem::Dependency
70
90
  name: rspec
71
91
  requirement: !ruby/object:Gem::Requirement