cronspeak 0.1.6 → 0.2.0

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: b48ca04c5db37a5257d2ea8cc6f1ba312a87a4f6
4
- data.tar.gz: 87b13a3016a874fb2fde426160aab10b1f1c7e33
3
+ metadata.gz: df8bd5c0ec37ff03435123527aed4d6b91617c6d
4
+ data.tar.gz: add6f5b6d785e22ccbcaf5d00c1d2b4f1cfbf470
5
5
  SHA512:
6
- metadata.gz: f6d79fb18d64a2a53c8128cc8cf904b808548d0be2c196c0a97a3b9d85214b37132008c748221c6f3483eae2924c3735d6a318808b440e9cfab78c6a1dedbf12
7
- data.tar.gz: b8388d7c30bd5d5d1578efcebbc7c24a530ef0b80d44ae09e521bb76ed1c619f99303d9bd8e69d7e13653bf7735ff3b8360ee50708ce2aaf1f020b2ba233f6c4
6
+ metadata.gz: 56d8bbc77f4e9b418be69b109603bd480d4567141287d920fcbd9a0471cd1d680326ab9ec7fd6a8ef144d1cb9b470366ba2e0ec3ceb63c44b150d102bb695de3
7
+ data.tar.gz: 5b4b65e42751d75241e147ec9657b5117c5a13e9b2047dffa3df2064f587ab3b29b071ab875efa09e260aed4dd2910e8f486afb7efcf973de7d54e8f8e4b8b3a
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
data/lib/cronspeak.rb CHANGED
@@ -6,7 +6,7 @@ require 'date'
6
6
  require 'time'
7
7
 
8
8
  module Ordinal
9
- refine Fixnum do
9
+ refine Integer do
10
10
 
11
11
  def ordinal
12
12
  self.to_s + ( (10...20).include?(self) ? 'th' :
@@ -25,7 +25,7 @@ class CronSpeak
25
25
 
26
26
  @count = 0
27
27
  m, h, d, mon, raw_dow = s.scan(/([\d,\*-\/]+)\s*/).flatten(1)
28
- dow(raw_dow)
28
+ @dow = dow(raw_dow)
29
29
 
30
30
  @to_s = if m+h =~ /^\d+$/ then
31
31
  [Time.parse(h + ':' + m)\
@@ -39,13 +39,11 @@ class CronSpeak
39
39
  private
40
40
 
41
41
  def mins(m='*')
42
-
43
- return 'every minute of ' if m == '*'
44
42
 
45
- r = case m
43
+ case m
44
+ when /^\*$/ then 'every minute of '
46
45
  when /^\*\//
47
- m = m[/^\*\/(\d+)/,1]
48
- "every %s minute of " % [m.to_i.ordinal]
46
+ "every %s minute of " % [m[/^\*\/(\d+)/,1].to_i.ordinal]
49
47
  when /,/
50
48
  "%s minutes of " % m.split(/,/).map {|x| x.to_i.ordinal }.join(' and ')
51
49
  when /\-/
@@ -55,7 +53,6 @@ class CronSpeak
55
53
  "%s minute of " % [m.to_i.ordinal]
56
54
  end
57
55
 
58
- return r
59
56
  end
60
57
 
61
58
  def hrs(h='*')
@@ -65,9 +62,7 @@ class CronSpeak
65
62
  @count += 2
66
63
 
67
64
  return case h
68
- when /^\*\//
69
- h = h[/^\*\/(\d+)/,1]
70
- " of every %s hour" % [h.to_i.ordinal]
65
+ when /^\*\// then " of every %s hour" % [h[/^\*\/(\d+)/,1].to_i.ordinal]
71
66
  when /,/
72
67
  h.split(/,/)\
73
68
  .map {|x| Time.parse(x+':00').strftime("%l%P").lstrip }.join(' and ')
@@ -87,12 +82,10 @@ class CronSpeak
87
82
  return " %s in " % @dow if @count >= 8
88
83
 
89
84
  return case d
90
- when /^\*$/ then
91
- ' every day'
85
+ when /^\*$/ then ' every day'
92
86
  when/^\*\//
93
- d = d[/^\*\/(\d+)/,1]
94
87
  @count += 4
95
- " of every %s day" % [d.to_i.ordinal]
88
+ " of every %s day" % [d[/^\*\/(\d+)/,1].to_i.ordinal]
96
89
  when /,/
97
90
  @count += 8
98
91
  "the %s of " % d.split(/,/).map {|x| x.to_i.ordinal }.join(' and ')
@@ -118,15 +111,13 @@ class CronSpeak
118
111
  s + 'every month'
119
112
  end
120
113
 
121
- when /^\*\//
122
- mon = mon[/^\*\/(\d+)/,1]
123
- @count += 16
124
- " of every %s month" % [mon.to_i.ordinal]
114
+ when /^\*\// then " of every %s month" % [mon[/^\*\/(\d+)/,1].to_i.ordinal]
125
115
  when /,/
126
116
  " of %s" % mon.split(/,/)\
127
117
  .map {|x| Date::MONTHNAMES[x.to_i] }.join(' and ')
128
118
  when /\-/
129
- " of %s" % mon.split('-',2).map {|x| Date::MONTHNAMES[x.to_i] }.join(' through ')
119
+ " of %s" % mon.split('-',2).map {|x| Date::MONTHNAMES[x.to_i] }\
120
+ .join(' through ')
130
121
  else
131
122
  s = @count < 8 ? 'of ' : ''
132
123
  " %s%s" % [s, Date::MONTHNAMES[mon.to_i]]
@@ -139,9 +130,8 @@ class CronSpeak
139
130
 
140
131
  def dow(raw_dow='*')
141
132
 
142
- @dow = case raw_dow
143
- when /^\*$/
144
- ''
133
+ case raw_dow
134
+ when /^\*$/ then ''
145
135
  when /,/
146
136
  @count += 8
147
137
  raw_dow.split(/,/).map {|x| Date::DAYNAMES[x.to_i] + 's' }.join(' and ')
@@ -161,4 +151,4 @@ end
161
151
  if __FILE__ == $0 then
162
152
  cs = CronSpeak.new(ARGV[0])
163
153
  cs.to_s
164
- end
154
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cronspeak
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -12,26 +12,26 @@ cert_chain:
12
12
  -----BEGIN CERTIFICATE-----
13
13
  MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
14
14
  YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
- 8ixkARkWAmV1MB4XDTE0MDcyODE4NTUxMVoXDTE1MDcyODE4NTUxMVowSDESMBAG
15
+ 8ixkARkWAmV1MB4XDTE2MTIyNTExMDUyOFoXDTE3MTIyNTExMDUyOFowSDESMBAG
16
16
  A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
17
  EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
- ggEBAKorHaDyE7nD6g5weJEzNGGMylBxB8ZhQonaw7VosHaTNr9/T8DTQIL7JC2g
19
- jiiYGD2x6xtsmcTG98IsiKO+hOcNF/6KNCKv9azDUkKHHJSng59Zd8ISuOg3fLjW
20
- ZXKk9amtpnpXgLam4EirZVZxznBWrIwoG6tyZ2tpW7xyv5Cg4GZLi+UcrcTTOJdq
21
- agm85xEc3oBySaZ1F+uZp8ZtLlr9GNiEmBQVt+nVTaneimsyUwvm2c3eM/3uZsGS
22
- UIFEK1GqyeMVaZD0bjpSjq3Nh5djRPYs2MTjGTMc9wntbxIaKTbZU95c0mgwSndL
23
- xGM/Hk9+/bhMK0J4WIBx/ZKdtjcCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
- DwQEAwIEsDAdBgNVHQ4EFgQU66tf+rrpbCVVkwTnF2FmrLrVdlYwJgYDVR0RBB8w
18
+ ggEBALJHpi/M38k6ruxjjNS5hyeMfHdue0pRe+9VXCq0I2Js625gOXrZxn/TUP0K
19
+ MswRd+O7BwY3Xf9SM0Co5MMwdVSYUbKDlcWZOxFmdSBK51tuGZaO/g+SYmJAYHnq
20
+ erjp0Cm4C+5h5kcclRlaUki1OmVE+8YA6c+VLUNN4neu03RgjqTq9OM45jXAkKV9
21
+ Qzh0REO77g5KpJYLSBHbCvqU3gqDJTURajC0lGI1Hvp4KvMdHdAqRMwilucpwkde
22
+ l7jgKTSidoDrlZtsgH+pVXXSMsCrqduZYLzAOfJkmMpY8QbQonhPjhG4dRoSXePB
23
+ 1nOPPa+Rb3GJno5ZR3sLlKwQXwECAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
+ DwQEAwIEsDAdBgNVHQ4EFgQUiCnOrbmIEXzqcgIAxn4fhUhVCnAwJgYDVR0RBB8w
25
25
  HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
- c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAhiJ2lyRp
27
- vcYZ4wg7DHbArQfL0te4sVoVWFN2lSg4gel0ZzRDh0qrQWRPIIwLnrPmpb/hfguF
28
- QWpyQzV92VYhHKni+Mx9uIAuo4PJnTn+pYJx2zQNUNlbHrKRm1Iwj7BSLq8XA3mG
29
- SvHwmahqNXG3+14ZLba+/BqFbGuXarK6/Axl0S0wwueU1OcgnAe4UE2jf2mwBXBB
30
- +DIJ5eEj8jLgRhNjkuG8vxHIaJ+NNr6maOFFQ4iu+qKSgioVl5L62UI/6f/4DTiN
31
- /qxj4jzSVHouRW0P3Zn5Ksu2Nr182B5rd4vXuOR2ZgSLjWu8iQUgGG6Mz6U+bTUO
32
- Qz3ThjR4bQCxiQ==
26
+ c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAGSacZFdF
27
+ lR4osZTsPRJxn0RS6CCPaKh3x+KRQYByv7p1HeaJkkSUCgLX7uQRMzOTUuwgc2Mm
28
+ GhsestRbEx+ca4tItWMW9FdI53LiAsBEq6ZXQP1Okmx+fnk+0X/j5V48Mi3R9HCI
29
+ sNYDsJGiIRPADTdc147zus01akntBjX49+eM0OKtqWNgjjGT9tkTpmcq7jmnajRs
30
+ 13pQ3IadRY6jGO7rbP4lUYGiqyM+u9OhL7GNy6QPBl7cdShaVBiqU0qcWPGtbpfS
31
+ BTR26NhGRU/X5PkLwUPyCglk9XZwTESJOHI81rH9qg6mT9hvVnSsmfzu+QxaZDDv
32
+ RwIL6sS1+XxVzw==
33
33
  -----END CERTIFICATE-----
34
- date: 2014-07-30 00:00:00.000000000 Z
34
+ date: 2016-12-25 00:00:00.000000000 Z
35
35
  dependencies: []
36
36
  description:
37
37
  email: james@r0bertson.co.uk
@@ -60,9 +60,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
60
60
  version: '0'
61
61
  requirements: []
62
62
  rubyforge_project:
63
- rubygems_version: 2.2.2
63
+ rubygems_version: 2.5.1
64
64
  signing_key:
65
65
  specification_version: 4
66
66
  summary: Translates a cron expression into natural language
67
67
  test_files: []
68
- has_rdoc:
metadata.gz.sig CHANGED
Binary file