journal-cli 1.0.23 → 1.0.24

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: 94254a744cbef7c84b89dc49f3811a641e5ece9b81e813cef5085c6111673846
4
- data.tar.gz: 06d736bceebf43d0505ce2f003a004a1dffc508d678f20ff1f1d8d2e06a51390
3
+ metadata.gz: 110b0fe8610e39052c3f85c417739821f66103cd0457a23a03188a158062962f
4
+ data.tar.gz: b56dfb4649456dd53e22aa86fece669f8d162fd6048537e06ba8c6aeb0db61c1
5
5
  SHA512:
6
- metadata.gz: 827d6165ddbcfb7752d0b91022b0c7779af14280503f915f007c1b3e937c4b6c989bdf0167b1d7399a0a2aaa9829528203784f80888c2ec9801d2ee614d653de
7
- data.tar.gz: 5fb214409b54da6c11321bf0c6f77eb4221f54f0803474787afee2f696930fe6d025af8e8915cf9a0759cc4e50d9463d4e6d15c6e7fd271f24c01c385f2170e8
6
+ metadata.gz: 237a1faa0d7d4acfb0bb1d0c3775b46055529e432dbba25e38b723cd5cab39e68db7796d824c870739f8fa9b28f2c1d040df1d4fb84bd3e57581cc18ba931ea7
7
+ data.tar.gz: cc8e68cf73df3bf13a71b2eb9126a136dd9f989a869c519dece7f733e1a89dfd5552626fc249bf7c6bc2ea95ee2a1a23836a6c8ed410202b1d4578b6be8d655e
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ### 1.0.24
2
+
3
+ 2023-09-20 09:12
4
+
1
5
  ### 1.0.23
2
6
 
3
7
  2023-09-20 08:30
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- journal-cli (1.0.23)
4
+ journal-cli (1.0.24)
5
5
  chronic (~> 0.10, >= 0.10.2)
6
6
  tty-reader (~> 0.9, >= 0.9.0)
7
7
  tty-which (~> 0.5, >= 0.5.0)
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ # String helpers
4
+ class ::String
5
+ def parse_condition
6
+ condition = dup
7
+ time_rx = /(?<comp>[<>=]{1,2}|before|after) +(?<time>(?:noon|midnight|[0-9]+) *(?:am|pm)?)$/i
8
+ return true unless condition =~ time_rx
9
+
10
+ now = Journal.date
11
+ m = condition.match(time_rx)
12
+ time = Chronic.parse(m['time'])
13
+ Journal.notify("{br}Invalid time string in question (#{m['time']})", exit_code: 4) unless time
14
+
15
+ case m['comp']
16
+ when /^<=$/
17
+ now <= time
18
+ when /^(<|bef)/i
19
+ now < time
20
+ when /^>=/
21
+ now >= time
22
+ when /^(>|aft)/i
23
+ now > time
24
+ end
25
+ # TODO: Other condition types
26
+ end
27
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Journal
4
- VERSION = '1.0.23'
4
+ VERSION = '1.0.24'
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.23
4
+ version: 1.0.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brett Terpstra
@@ -238,6 +238,7 @@ files:
238
238
  - lib/journal-cli/question.rb
239
239
  - lib/journal-cli/section.rb
240
240
  - lib/journal-cli/sections.rb
241
+ - lib/journal-cli/string.rb
241
242
  - lib/journal-cli/version.rb
242
243
  - lib/journal-cli/weather.rb
243
244
  - src/_README.md