cron2english 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -0
- data/lib/cron2english/all.rb +16 -10
- data/lib/cron2english/version.rb +1 -1
- data/spec/parse_spec.rb +13 -0
- metadata +1 -2
- data/.rvmrc +0 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5f0c4fdb001bf4e32751f5ff92f76cf720fcdd2b
|
4
|
+
data.tar.gz: a20937a800f0cf8f79c00bad5cde785fe07a4e6c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5635cdffe190d29b003b2b489a82824298d409d2ad6a2b053db9636790f8a97d3f2a6e85ae06a7f8c5c886076fcebb2241c8602471068b6e429e1b60a7b11192
|
7
|
+
data.tar.gz: 30b408ac1087d9b0f7c0a414f03f8e8b854e80c564f799d3395b35862262f2ed0a7a3b8861e711b098f81d17ae46f0407df8d47753ab119614a9a0a5081dde8c
|
data/README.md
CHANGED
@@ -27,7 +27,9 @@ Cron2English understands just about anything you'll find in a crontab, including
|
|
27
27
|
* `1-9,15-30 * * * *`
|
28
28
|
* `1-9/3,15-30/4 * * * *`
|
29
29
|
* `1 2 3 4 mON`
|
30
|
+
* `1 2 3 4 mON-fri`
|
30
31
|
* `1 2 3 jan 5`
|
32
|
+
* `1 2 3 jan-apr 5`
|
31
33
|
* `@reboot`
|
32
34
|
* `@yearly`
|
33
35
|
* `@annually`
|
data/lib/cron2english/all.rb
CHANGED
@@ -65,17 +65,23 @@ module Cron2English
|
|
65
65
|
end
|
66
66
|
|
67
67
|
def process_trad(m, h, day_of_month, month, dow)
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
68
|
+
month = month.split(',').map{|month_part|
|
69
|
+
if month_part =~ MONTH_REGEX
|
70
|
+
month_part = MONTH2NUM[$1.downcase]
|
71
|
+
elsif month_part =~ MONTH_RANGE_REGEX
|
72
|
+
month_part = [$1, $2].map{|x| MONTH2NUM[x.downcase]}.join('-')
|
73
|
+
end
|
74
|
+
month_part
|
75
|
+
}.join(',')
|
73
76
|
month = month.to_s if month
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
77
|
+
dow = dow.split(',').map{|dow_part|
|
78
|
+
if dow_part =~ DOW_REGEX
|
79
|
+
dow_part = DOW2NUM[$1.downcase]
|
80
|
+
elsif dow_part =~ DOW_RANGE_REGEX
|
81
|
+
dow_part = [$1, $2].map{|d| DOW2NUM[d.downcase]}.join('-')
|
82
|
+
end
|
83
|
+
dow_part
|
84
|
+
}.join(',')
|
79
85
|
dow = dow.to_s if dow
|
80
86
|
bits = [m, h, day_of_month, month, dow]
|
81
87
|
unparseable = []
|
data/lib/cron2english/version.rb
CHANGED
data/spec/parse_spec.rb
CHANGED
@@ -8,6 +8,7 @@ describe Cron2English do
|
|
8
8
|
["10 8 15 * *", ["8:10am on", "the 15th of", "every month"]],
|
9
9
|
["40 5 * * *", ["5:40am", "every day"]],
|
10
10
|
["50 6 * * 1", ["6:50am", "every Monday"]],
|
11
|
+
["0 17 * * Fri", ["5pm", "every Friday"]],
|
11
12
|
["1 2 * apr mOn", ["2:01am", "every Monday in", "April"]],
|
12
13
|
["1 2 * apr mon-fri", ["2:01am", "every Monday through Friday in", "April"]],
|
13
14
|
["1 2 * apr-jun mOn", ["2:01am", "every Monday in", "from April to June"]],
|
@@ -19,6 +20,18 @@ describe Cron2English do
|
|
19
20
|
["1 2 3 jan mon", ["2:01am on", "the third of -- or every Monday in --", "January"]],
|
20
21
|
["1 2 3 4 mON", ["2:01am on", "the third of -- or every Monday in --", "April"]],
|
21
22
|
["1 2 3 jan 5", ["2:01am on", "the third of -- or every Friday in --", "January"]],
|
23
|
+
["30 9 * 1-2 mon", ["9:30am", "every Monday in", "from January to February"]],
|
24
|
+
["30 9 * 1,2 mon", ["9:30am", "every Monday in", "January and February"]],
|
25
|
+
["30 9 * jan-feb mon", ["9:30am", "every Monday in", "from January to February"]],
|
26
|
+
["30 9 * jan,feb mon", ["9:30am", "every Monday in", "January and February"]],
|
27
|
+
["30 9 * 1-2,4 mon", ["9:30am", "every Monday in", "from January to February; and April"]],
|
28
|
+
["30 9 * jan-feb,apr mon", ["9:30am", "every Monday in", "from January to February; and April"]],
|
29
|
+
["30 9 * * 1-2", ["9:30am", "every Monday through Tuesday"]],
|
30
|
+
["30 9 * * 1,2", ["9:30am", "every Monday or Tuesday"]],
|
31
|
+
["30 9 * * Mon-Tue", ["9:30am", "every Monday through Tuesday"]],
|
32
|
+
["30 9 * * Mon,Tue", ["9:30am", "every Monday or Tuesday"]],
|
33
|
+
["30 9 * * 1-2,4", ["9:30am", "every Monday through Tuesday or Thursday"]],
|
34
|
+
["30 9 * * Mon-Tue,Thu", ["9:30am", "every Monday through Tuesday or Thursday"]],
|
22
35
|
["@reboot", ["reboot"]],
|
23
36
|
["@yearly", ["yearly"]],
|
24
37
|
["@annually", ["annually"]],
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cron2english
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Paul A. Jungwirth
|
@@ -60,7 +60,6 @@ extra_rdoc_files: []
|
|
60
60
|
files:
|
61
61
|
- .gitignore
|
62
62
|
- .rspec
|
63
|
-
- .rvmrc
|
64
63
|
- Gemfile
|
65
64
|
- Gemfile.lock
|
66
65
|
- LICENSE.txt
|
data/.rvmrc
DELETED