chronic_cron 0.3.6 → 0.3.7

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
  SHA1:
3
- metadata.gz: 6880061d93fedcede28b7e651d068f16f7add182
4
- data.tar.gz: c4c085e839bc2beb70cbe76a26bf62e58922b8e9
3
+ metadata.gz: 87c9ca865ed518099e452b2bdb060caec364df00
4
+ data.tar.gz: 4138b72f8a680693fbb989a0978bb940165a5f12
5
5
  SHA512:
6
- metadata.gz: c73c6e91eeaca2e88c8d0079d1c593bf4379907c034ace3d0c104725dfa61ba2c144ce6616750226db106ff1b8fa0e451c8544ed12dbbeff65c4bf7ad35ed606
7
- data.tar.gz: 3dcbe3cb2092b39a51c8758fa24eac419b2574a08c3803e1548ba237a44747fec72dc86ccebe7719dfdef36d755af6771e5ba8cfad43679977231313dd4c1964
6
+ metadata.gz: 971534edf8e75f73379dfa927c936eca189f21aa9b43fcd928c3c5070532624abaa7318a8a7f5245d66f05ea0a2fd199419b1443a89b50aba8b77ad440eb85f0
7
+ data.tar.gz: 2e56ad254692427c0856d7292314a253eda668a409f7e3c658b67c5349f4d7b38cd6776cee6b03944123f4637b23d61293aa31259293c8958cc134cdcbec7dbf
Binary file
data.tar.gz.sig CHANGED
@@ -1 +1,4 @@
1
- e��#sc���%H�����+���}��
1
+ �� *�Rb�@��i���"NY�@6�ڡƑ0Bu5�n�F�խZf«�2߱��Kx2n2+�
2
+ �l�C�v�#UM�'ի��/�'3��؝�;��'���1� _
3
+ �i@�y)�q6��AR9�ϵ�-�^��µ��ɾJd�
4
+ ����F���&�J�+�hVC���gᾤ9r�*�
@@ -13,9 +13,9 @@ class ChronicCron
13
13
 
14
14
  attr_reader :to_expression
15
15
 
16
- def initialize(s, now=Time.now)
16
+ def initialize(s, now=Time.now, log: nil)
17
17
 
18
- @now = now
18
+ @now, @log = now, log
19
19
 
20
20
  super()
21
21
  @params = {input: s}
@@ -49,6 +49,8 @@ class ChronicCron
49
49
  protected
50
50
 
51
51
  def expressions(params)
52
+
53
+ log = @log
52
54
 
53
55
  r = '[0-9\*,\?\/\-]+'
54
56
  daily = '(?:every day|daily)'
@@ -64,7 +66,7 @@ class ChronicCron
64
66
  end
65
67
 
66
68
  # e.g. every 30mins from 8:00am until 8:00pm mon-fri
67
- get /every\s+(\d+)\s*mins\s+from\s+(\d{1,2}):(\d{1,2})([ap]m)(?:\s+until\s+|\s*-\s*)(\d{1,2}):\d{1,2}([ap]m)\s+(\w+\-\w+)/ do
69
+ get /every\s+(\d+)\s*mins\s+from\s+(\d{1,2}):(\d{1,2})([ap]m)(?:\s+until\s+|\s*-\s*)(\d{1,2}):\d{1,2}([ap]m)\s+(\w+\-\w+)/x do
68
70
  |interval_mins, r_hrs1, mins1, meridiem1, r_hrs2, meridiem2, wdays|
69
71
 
70
72
  hrs1 = meridiem1 == 'pm' ? r_hrs1.to_i + 12 : r_hrs1
@@ -140,7 +142,12 @@ class ChronicCron
140
142
  get(/every hour/){ "0 * * * *"}
141
143
 
142
144
  # e.g. every 2 days
143
- get(/every (\d{1,2}) days?/){|days| "* * */%s * *" % [days]}
145
+ get(/every (\d{1,2}) days?/) do |days|
146
+
147
+ log.info 'ChronicCron/expressions/get: r130' if log
148
+ "* * */%s * *" % [days]
149
+ end
150
+
144
151
  get(/#{daily}/){ "0 0 * * *"}
145
152
 
146
153
  get /(?:any\s?time)?(?: today)? between (\S+) and (\S+)/ do |s1, s2|
@@ -221,6 +228,7 @@ class ChronicCron
221
228
  get /every\s+2nd\s+#{weekday}\s+at\s+(\d{1,2})(?::(\d{1,2}))?([ap]m)/i do
222
229
  |wday, raw_hrs, mins, meridiem, |
223
230
  hrs = in24hrs(raw_hrs, meridiem)
231
+ log.info 'ChronicCron/expressions/get: r230' if log
224
232
  "%s %s * * %s/2" % [mins.to_i, hrs , wday]
225
233
  end
226
234
 
@@ -236,7 +244,8 @@ class ChronicCron
236
244
  get /every 2nd week\s+at\s+([^\s]+)/ do |raw_time|
237
245
 
238
246
  t = Chronic.parse(raw_time, :now => @now)
239
-
247
+ log.info 'ChronicCron/expressions/get: r250' if log
248
+
240
249
  "%s %s * * %s/2" % [t.min,t.hour,t.wday]
241
250
 
242
251
  end
@@ -250,11 +259,13 @@ class ChronicCron
250
259
  end
251
260
 
252
261
  # e.g. every 2 weeks at 6am starting from 7th Jan
253
- get /every (\w+) weeks\s+(?:at\s+([^\s]+))?/ do |interval, raw_time|
262
+ get /^every (\w+) weeks(?:\s+at\s+([^\s]+))?/ do |interval, raw_time|
254
263
 
255
- t = Chronic.parse(raw_time, :now => @now)
264
+ t = raw_time ? Chronic.parse(raw_time, :now => @now) : @now
256
265
  t += WEEK * interval.to_i until t > @now
257
266
  mins, hrs = t.to_a.values_at(1,2)
267
+
268
+ log.info 'ChronicCron/expressions/get: r270' if log
258
269
 
259
270
  "%s %s * * %s/%s" % [mins, hrs, t.wday, interval]
260
271
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chronic_cron
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.6
4
+ version: 0.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -12,26 +12,26 @@ cert_chain:
12
12
  -----BEGIN CERTIFICATE-----
13
13
  MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
14
14
  YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
- 8ixkARkWAmV1MB4XDTE2MTExMDE3NTIwNVoXDTE3MTExMDE3NTIwNVowSDESMBAG
15
+ 8ixkARkWAmV1MB4XDTE3MTExNDIzMzEwNVoXDTE4MTExNDIzMzEwNVowSDESMBAG
16
16
  A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
17
  EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
- ggEBAMXvIIMnFzqgqEUdrqypkw6RdcfEI40u5r0bcgvbyhw6CZAZZKWk0q5Ziw7a
19
- S1tatAttBGZLzVdeHnymo8vmiscNwdCS2gUDXCp8rlpah4BvCmKv3LLAnaEZK1ep
20
- ftYwmRqNILNAmsiRbF5nmDcr7zR0vFeoZ5Vdl/ZBzaoMQ72RtJY8zoo5zpnZnpU6
21
- ShRUsnEH08CtD8qh6ZljzTp96A1RRT7LUJQwK4UcIC0yjeTB2JsKs5iVePuo7y3p
22
- CFAQF4vrUakYiTDz/n598bqgoUA4CNtWZl2gBQ3h1W+T31F2uUSfDmHbJhhnDAPL
23
- TITa8E5aBl9deGJhyhHyjpj/tVUCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
- DwQEAwIEsDAdBgNVHQ4EFgQUh2SBKNkdbuyEwL8nsr5pfoVEM2wwJgYDVR0RBB8w
18
+ ggEBALoP6xDp6zr7JbSKtgrtFy1wXlw+gWUsUgo1HGm4JYsHi8EIiEqalydehRVy
19
+ lND168CJmdruvmvO7bjfvNzGXrYO5mRAzL54PLr7lzEbHNS3Xpac6EBbz7vU4bqV
20
+ Q1RGai6youjvBhH8AkUDKeVDu7oLYJhff7CIXH2QJH92XXVAO5RnY7u/K/lEjczZ
21
+ 2bnw2R383aRi+6deHmzRtUK3nbQgxhZXcjm27Xb8aU+OPmmfvx/ZbdVxIb6SEVGO
22
+ 964YEOiRX1KbbnifRtfKgLCySF59jZA7KIZNRGOkerfOCNrk/D8GVECWL5erLKbw
23
+ FipxWxCgik/d53/Tj/rtVI9jfGsCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
+ DwQEAwIEsDAdBgNVHQ4EFgQU+n2rEOLx53rnpxbluXFisamq6cEwJgYDVR0RBB8w
25
25
  HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
- c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAs6RT28SG
27
- 9X2mZGolXDgPCWpJOAbB8c9WB+ptbJLeLCFuGwWpp4bqAkx4FBpLG096xwSrNkQ4
28
- 81EO1GAXvLZmY8cIf0UrGXrW5rAvWPXkJlMW+10sO8yGDMMtQ5QijBECToyN4417
29
- 6PciD+0Dtqud1TvvkcWEZ+eu2/AjeHN4MfLoEv5rEXtQl7yQ3fF3Lh8skc9eoGji
30
- X96JRh2ZgKjqCh+r806HDBd1oCjzY9iFBukHV/vVe103rVdKZP0DcFJcE6UsLqAH
31
- 0wcgVFIVtcpX9C67gxjhpnaGcldx1X9px9b4jorMz4yZHdq+MonVlmQlYfhPLRog
32
- krK/e35wvDmTqQ==
26
+ c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAjcAZZRIC
27
+ hlLlASQ8THr7VLOa09WmEhlQ8QPm8HwiKoN0dTrq7V+tXyVVagJeVK1Lz/bsE4D+
28
+ qZdibGXJ6m4uF3V99qsu+3yQE6hJCT8WL1dc8V6Gv0SL/6aNU+0+wFxa2zPONhJ3
29
+ kCK3BJoBrAF4DycYLZ7NNi9Gk2UjFery1+51XOozsnIjawiyS1x/vx6LgO+ZxDFy
30
+ KLkHJMGcM015IMO7DrDYieCXK7FEJ1bF2OTF4nuOQo5TP7hFugK7sW7EC3kUVLly
31
+ q95F5t9M4vy0Q8baeY7AJ7+f6Z5LLLCK4MyPO2y4aYy209dwdEY2zHZOA+CLkPEU
32
+ p0BvK7yY4ZqPZw==
33
33
  -----END CERTIFICATE-----
34
- date: 2017-06-08 00:00:00.000000000 Z
34
+ date: 2017-11-14 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: app-routes
@@ -140,7 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
140
140
  version: '0'
141
141
  requirements: []
142
142
  rubyforge_project:
143
- rubygems_version: 2.6.8
143
+ rubygems_version: 2.6.13
144
144
  signing_key:
145
145
  specification_version: 4
146
146
  summary: Converts a human-readable time (e.g. 10:15 daily) into a cron format (e,g,
metadata.gz.sig CHANGED
Binary file