chronic_cron 0.3.6 → 0.3.7

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
  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