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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8a01772090289d43ea8107377b683a0060305a5f
4
- data.tar.gz: bdc98b43514bc72d2d4344d28af64e267df367f2
3
+ metadata.gz: 5f0c4fdb001bf4e32751f5ff92f76cf720fcdd2b
4
+ data.tar.gz: a20937a800f0cf8f79c00bad5cde785fe07a4e6c
5
5
  SHA512:
6
- metadata.gz: a0d4fa4d5ac9e52c47cb270a0adb4c71ea2cf14cd54ddb14533b555f33ef5c57d55e620521928da88f2a8cb76d63aa035f19f844d11954739ea529c164660d67
7
- data.tar.gz: 6e0806962bbaa505730ce4b8edeb14c6fba085a1416fa49989da2ae251337a03a399b91b402aa857c2a3551e5c8ffa036406a5aba4605e3ecb4cb9200f0e4748
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`
@@ -65,17 +65,23 @@ module Cron2English
65
65
  end
66
66
 
67
67
  def process_trad(m, h, day_of_month, month, dow)
68
- if month =~ MONTH_REGEX
69
- month = MONTH2NUM[$1.downcase]
70
- elsif month =~ MONTH_RANGE_REGEX
71
- month = [$1, $2].map{|x| MONTH2NUM[x.downcase]}.join('-')
72
- end
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
- if dow =~ DOW_REGEX
75
- dow = DOW2NUM[$1.downcase]
76
- elsif dow =~ DOW_RANGE_REGEX
77
- dow = [$1, $2].map{|d| DOW2NUM[d.downcase]}.join('-')
78
- end
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 = []
@@ -1,3 +1,3 @@
1
1
  module Cron2English
2
- VERSION = '0.1.5'
2
+ VERSION = '0.1.6'
3
3
  end
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.5
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
@@ -1,2 +0,0 @@
1
- rvm_gemset_create_on_use_flag=1
2
- rvm gemset use ruby-2.0.0-p247@cron2english