event_nlp 0.6.3 → 0.6.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/event_nlp.rb +24 -9
- data.tar.gz.sig +0 -0
- metadata +1 -1
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 006b95206123489efd7a4af7281c94cf04f9c87e2767b66f64ac8dfabf997935
|
4
|
+
data.tar.gz: c24fa71f8468feea1740737afa65c1f37b338601a2bb483705f55ea636b7a6da
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c27fc480731c2eb471bc80933f460a18c62ae6512b82336cd455c0733d267704959de4c0e37ee7a59d1918d8fd5971a3966bf15dd87886feff9dd48aacfaf472
|
7
|
+
data.tar.gz: ab4d7de64261e1dfd3afd0ea29c4d84184ed8be70d6120340ba4959738838bbbd73126a8de992eb99809887ffe355c089628b426066a5603ddaa3ef1d886303b
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/event_nlp.rb
CHANGED
@@ -55,14 +55,27 @@ class EventNlp
|
|
55
55
|
#
|
56
56
|
def project(s, year: Time.now.year)
|
57
57
|
|
58
|
-
|
58
|
+
r0 = parse s
|
59
|
+
r = parse r0.input
|
59
60
|
dates = []
|
60
61
|
now = @now
|
61
62
|
|
63
|
+
if @debug then
|
64
|
+
puts 'r.date: ' + r.date.inspect
|
65
|
+
puts 'r.input: ' + r.input.inspect
|
66
|
+
end
|
67
|
+
|
68
|
+
return [r.date] if (r.date == EventNlp.new(r.date+1).parse(r.input).date)
|
69
|
+
|
62
70
|
while r.date.year == year.to_i do
|
63
71
|
|
64
72
|
dates << r.date
|
65
|
-
@now = r.
|
73
|
+
@now = if r.recurring == 'month' then
|
74
|
+
(r.date.to_datetime >> 1).to_time
|
75
|
+
else
|
76
|
+
r.date + 1
|
77
|
+
end
|
78
|
+
#@now = r.date + 1
|
66
79
|
r = parse(r.input)
|
67
80
|
|
68
81
|
end
|
@@ -125,10 +138,11 @@ class EventNlp
|
|
125
138
|
|
126
139
|
# e.g. electricity bill on the 28th of every month
|
127
140
|
|
128
|
-
get /(.*) on the
|
141
|
+
get /(.*) on the #{days} of every (month)/i do |title, day, recurring|
|
129
142
|
|
130
143
|
|
131
|
-
|
144
|
+
puts 'day: ' + day.inspect if @debug
|
145
|
+
raw_d = Chronic.parse(day + ' ' + Date::MONTHNAMES[@now.month])
|
132
146
|
|
133
147
|
# if the date is less than now then increment it by a month
|
134
148
|
d = raw_d < @now ? (raw_d.to_date >> 1).to_time : raw_d
|
@@ -349,10 +363,11 @@ class EventNlp
|
|
349
363
|
|
350
364
|
# hall 2 friday at 11am
|
351
365
|
|
352
|
-
get /^(.*)\s+#{weekdays}\b(?: \(([^\)]+)\))?(
|
353
|
-
do |title, raw_day, actual_date, time|
|
366
|
+
get /^(.*)\s+#{weekdays}\b(?: \(([^\)]+)\))?(?:#{times})? *(weekly)?/i \
|
367
|
+
do |title, raw_day, actual_date, time, recurring|
|
354
368
|
|
355
369
|
if @debug then
|
370
|
+
puts ('recurring: ' + recurring.inspect).debug
|
356
371
|
puts ('actual_date: ' + actual_date.inspect).debug
|
357
372
|
puts ('raw_day: ' + raw_day.inspect).debug
|
358
373
|
puts ('time: ' + time.inspect).debug
|
@@ -360,9 +375,9 @@ class EventNlp
|
|
360
375
|
|
361
376
|
input = params[:input].clone
|
362
377
|
|
363
|
-
|
364
|
-
|
365
|
-
|
378
|
+
d = Chronic.parse(raw_day + ' ' + time.to_s)
|
379
|
+
|
380
|
+
if recurring.nil?
|
366
381
|
d = Chronic.parse(raw_day + ' ' + time.to_s)
|
367
382
|
input.sub!(/#{weekdays}/i,
|
368
383
|
%Q(#{raw_day} (#{d.strftime("#{d.day.ordinal} %b %Y")})))
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
metadata.gz.sig
CHANGED
Binary file
|