cron2english 0.1.3 → 0.1.4

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: 318c80673ee9abd528b79ae2fe4d6f77cbfb5e28
4
- data.tar.gz: 723cf67b3ef626af6ae467eab3ee937f72bba113
3
+ metadata.gz: b236d44027a4d50bf559893ebf8ae87cb0c4f248
4
+ data.tar.gz: 5d2f02db75a40f95f3f95fe8b35d017e8e8d39c8
5
5
  SHA512:
6
- metadata.gz: 3c484d2755e34717f137b262b3275b7344a2463e7c1e88fdef153361d6c3143c1261d0c326948ab644b5e77ad1c57ba3eee90898f8f5bcba70292acea929f708
7
- data.tar.gz: 6abe543ed6d611f736179f9937af9a74b2b186a970d562c7768fb0e0a138d2658eafe86cf4261260f02e6d2334236a3c1e14f21c03d56420777dcc224a4cc18e
6
+ metadata.gz: b900e08c5073587555f0aab42af39f053ec70e764ff582fc4149d895a11c3e50bf235348a52376e3a2f2899ac8be9a57dd4b31c5157045dda7a248e682d76c06
7
+ data.tar.gz: a6e29b4551d6d3f21e9c7019ec2b9149724c020e89e5b06f899a4d60cce82d51374b8275a344c230cb2ff93fca00c7ee54c2a1439ecac972f4201df778ebcfe2
@@ -9,6 +9,7 @@ module Cron2English
9
9
  NUM2MONTH = Hash[(1..12).zip(MONTHS)]
10
10
  # unshift @months, ''; # What is this about??
11
11
  DOW_REGEX = %r{^(#{DAYS_OF_WEEK.join("|")})$}i
12
+ DOW_RANGE_REGEX = %r{^(#{DAYS_OF_WEEK.join("|")})-(#{DAYS_OF_WEEK.join("|")})$}i
12
13
  MONTH_REGEX = %r{^(#{MONTHS.join("|")}|)$}i
13
14
  NUM2MONTH_LONG = Hash[(1..12).zip(%w{January February March April May June July August September October November December})]
14
15
  NUM2DOW_LONG = %w{Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday}
@@ -65,7 +66,11 @@ module Cron2English
65
66
  def process_trad(m, h, day_of_month, month, dow)
66
67
  month = MONTH2NUM[$1.downcase] if month =~ MONTH_REGEX
67
68
  month = month.to_s if month
68
- dow = DOW2NUM[$1.downcase] if dow =~ DOW_REGEX
69
+ if dow =~ DOW_REGEX
70
+ dow = DOW2NUM[$1.downcase]
71
+ elsif dow =~ DOW_RANGE_REGEX
72
+ dow = [$1, $2].map{|d| DOW2NUM[d.downcase]}.join('-')
73
+ end
69
74
  dow = dow.to_s if dow
70
75
  bits = [m, h, day_of_month, month, dow]
71
76
  unparseable = []
@@ -1,3 +1,3 @@
1
1
  module Cron2English
2
- VERSION = '0.1.3'
2
+ VERSION = '0.1.4'
3
3
  end
data/spec/parse_spec.rb CHANGED
@@ -9,6 +9,7 @@ describe Cron2English do
9
9
  ["40 5 * * *", ["5:40am", "every day"]],
10
10
  ["50 6 * * 1", ["6:50am", "every Monday"]],
11
11
  ["1 2 * apr mOn", ["2:01am", "every Monday in", "April"]],
12
+ ["1 2 * apr mon-fri", ["2:01am", "every Monday through Friday in", "April"]],
12
13
  ["1 2 3 4 7", ["2:01am on", "the third of -- or every Sunday in --", "April"]],
13
14
  ["1-20/3 * * * *", ["every 3 minutes from 1 to 20 past", "every hour of", "every day"]],
14
15
  ["1,2,3 * * * *", ["1, 2, and 3 minutes past", "every hour of", "every day"]],
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.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul A. Jungwirth