cron2english 0.1.5 → 0.1.6
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 +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