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