event_nlp 0.6.0 → 0.6.1

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: 23d131080f1c648f569969cdd3af18a8ee585978b832c0822d47604a14968236
4
- data.tar.gz: 173cff064a42e901bfb055f29f08d4d1273c5b0d7509ce1af54bb708593b3b23
3
+ metadata.gz: c4ec4582a9a97efbf6e4b24803edb1675c8cc8bbcdff692b90472502bfd71c1e
4
+ data.tar.gz: 63226f49c9ad8b5f2219cc8506152c5ddaed21e97e0e7c6e55c017bc83d3e644
5
5
  SHA512:
6
- metadata.gz: f0c92ec588966b972c2fc2d0816ca066d4c06ea98230d8d1fb811a06a7811d283d3626fd36f5229af2b11ebd5ecf4dcf69ee092af538e872ce3aa9ab8f519b88
7
- data.tar.gz: bbb4f4a06419da51042a791dbc9fdbabd77c874c911f4c46ba1463e67162474804ad4fa1fc25b7297d448d7cd2bc7a70bae3a7e604657285231cd213a9c4032e
6
+ metadata.gz: eab396db7a03c0416d71eb911d4bd35d573f33a265c8aa773dcbbf45368a8702df0f695701ee3f2472c084106de6c60d3aee5826e68ec8c032770be191db7a76
7
+ data.tar.gz: b70f2239f852026b7b3559c0814c331be502a47410ecdf8808646faec727c5adc17e282d8d9159c2bf4658d2ce03ddf161d0b84433b95cbe529658cf965b0b29
checksums.yaml.gz.sig CHANGED
Binary file
data/lib/event_nlp.rb CHANGED
@@ -12,7 +12,7 @@ module Ordinals
12
12
 
13
13
  refine Integer do
14
14
  def ordinal
15
- self.to_s + ( (10...20).include?(self) ? 'th' :
15
+ self.to_s + ( self.between?(10,20) ? 'th' :
16
16
  %w{ th st nd rd th th th th th th }[self % 10] )
17
17
  end
18
18
  end
@@ -37,7 +37,25 @@ class EventNlp
37
37
 
38
38
  end
39
39
 
40
- def parse(s)
40
+ def parse(raws)
41
+
42
+ # catch irregular expressions and interpret them in advance
43
+ #
44
+ # e.g. Cafe meeting Thursday every 2 weeks =>
45
+ # Cafe meeting every 2nd Thursday
46
+ #
47
+ weekdays2 = (Date::DAYNAMES + Date::ABBR_DAYNAMES).join('|').downcase
48
+ pattern = /(?<day>#{weekdays2}) every (?<n>\d) weeks/i
49
+ found = raws.match(pattern)
50
+
51
+ s = if found then
52
+ s2 = "every %s %s" % [found[:n].to_i.ordinal, found[:day]]
53
+ raws.sub(pattern, s2)
54
+ else
55
+ raws
56
+ end
57
+
58
+ #-----------------------------------------------------------
41
59
 
42
60
  @params[:input] = s
43
61
  r = run_route(s)
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: event_nlp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -35,7 +35,7 @@ cert_chain:
35
35
  w8lJ+I6Lqqr5GpsweOnEHW4w200sMRD40u8qmGHrqirihL2KrwTD6A9UObvA5AxZ
36
36
  4Z4EPvKg+3jsK9Gv3GGSLdrD
37
37
  -----END CERTIFICATE-----
38
- date: 2022-02-02 00:00:00.000000000 Z
38
+ date: 2022-04-01 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: chronic_cron
@@ -103,8 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
103
103
  - !ruby/object:Gem::Version
104
104
  version: '0'
105
105
  requirements: []
106
- rubyforge_project:
107
- rubygems_version: 2.7.10
106
+ rubygems_version: 3.2.22
108
107
  signing_key:
109
108
  specification_version: 4
110
109
  summary: 'Parses a calendar event for date, time, and description e.g. hall 2 friday
metadata.gz.sig CHANGED
Binary file