whenever 0.7.1 → 0.7.2
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.
- data/CHANGELOG.md +7 -0
- data/lib/whenever/capistrano.rb +1 -1
- data/lib/whenever/cron.rb +4 -10
- data/lib/whenever/version.rb +1 -1
- data/test/unit/cron_test.rb +4 -2
- metadata +14 -14
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
### 0.7.2 / December 23rd, 2011
|
2
|
+
|
3
|
+
* Accept @reboot and friends as raw cron syntax. [Felix Buenemann]
|
4
|
+
|
5
|
+
* Fix clear_crontab task so it will work both standalone and during deploy. [Justin Giancola]
|
6
|
+
|
7
|
+
|
1
8
|
### 0.7.1 / December 19th, 2011
|
2
9
|
|
3
10
|
* Require thread before active_support for compatibility with Rails < 2.3.11 and RubyGems >= 1.6.0. [Micah Geisel]
|
data/lib/whenever/capistrano.rb
CHANGED
@@ -58,7 +58,7 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
58
58
|
DESC
|
59
59
|
task :clear_crontab do
|
60
60
|
options = fetch(:whenever_options)
|
61
|
-
run "cd #{fetch :
|
61
|
+
run "cd #{fetch :latest_release} && #{fetch :whenever_command} #{fetch :whenever_clear_flags}", options if find_servers(options).any?
|
62
62
|
end
|
63
63
|
end
|
64
64
|
end
|
data/lib/whenever/cron.rb
CHANGED
@@ -3,7 +3,8 @@ require 'chronic'
|
|
3
3
|
module Whenever
|
4
4
|
module Output
|
5
5
|
class Cron
|
6
|
-
|
6
|
+
KEYWORDS = [:reboot, :yearly, :annually, :monthly, :weekly, :daily, :midnight, :hourly]
|
7
|
+
REGEX = /^(@(#{KEYWORDS.join '|'})|.+ .+ .+ .+ .+.?)$/
|
7
8
|
|
8
9
|
attr_accessor :time, :task
|
9
10
|
|
@@ -52,25 +53,18 @@ module Whenever
|
|
52
53
|
|
53
54
|
protected
|
54
55
|
def day_given?
|
55
|
-
months =
|
56
|
+
months = %w(jan feb mar apr may jun jul aug sep oct nov dec)
|
56
57
|
@at_given.is_a?(String) && months.any? { |m| @at_given.downcase.index(m) }
|
57
58
|
end
|
58
59
|
|
59
60
|
def parse_symbol
|
60
61
|
shortcut = case @time
|
61
|
-
when :reboot
|
62
|
+
when *KEYWORDS then "@#{@time}" # :reboot => '@reboot'
|
62
63
|
when :year then 12.months
|
63
|
-
when :yearly,
|
64
|
-
:annually then '@annually'
|
65
64
|
when :day then 1.day
|
66
|
-
when :daily then '@daily'
|
67
|
-
when :midnight then '@midnight'
|
68
65
|
when :month then 1.month
|
69
|
-
when :monthly then '@monthly'
|
70
66
|
when :week then 1.week
|
71
|
-
when :weekly then '@weekly'
|
72
67
|
when :hour then 1.hour
|
73
|
-
when :hourly then '@hourly'
|
74
68
|
end
|
75
69
|
|
76
70
|
if shortcut.is_a?(Numeric)
|
data/lib/whenever/version.rb
CHANGED
data/test/unit/cron_test.rb
CHANGED
@@ -184,7 +184,7 @@ class CronTest < Test::Unit::TestCase
|
|
184
184
|
should "parse a :symbol into the correct shortcut" do
|
185
185
|
assert_equal '@reboot', parse_time(:reboot)
|
186
186
|
assert_equal '@annually', parse_time(:annually)
|
187
|
-
assert_equal '@
|
187
|
+
assert_equal '@yearly', parse_time(:yearly)
|
188
188
|
assert_equal '@daily', parse_time(:daily)
|
189
189
|
assert_equal '@midnight', parse_time(:midnight)
|
190
190
|
assert_equal '@monthly', parse_time(:monthly)
|
@@ -217,7 +217,9 @@ class CronTest < Test::Unit::TestCase
|
|
217
217
|
|
218
218
|
context "When given raw cron sytax" do
|
219
219
|
should "return the same cron sytax" do
|
220
|
-
crons = ['0 0 27-31 * *', '* * * * *', '2/3 1,9,22 11-26 1-6 *'
|
220
|
+
crons = ['0 0 27-31 * *', '* * * * *', '2/3 1,9,22 11-26 1-6 *',
|
221
|
+
'@reboot', '@yearly', '@annually', '@monthly', '@weekly',
|
222
|
+
'@daily', '@midnight', '@hourly']
|
221
223
|
crons.each do |cron|
|
222
224
|
assert_equal cron, parse_time(cron)
|
223
225
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: whenever
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-12-
|
12
|
+
date: 2011-12-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: chronic
|
16
|
-
requirement: &
|
16
|
+
requirement: &70249786924020 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 0.6.3
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70249786924020
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: activesupport
|
27
|
-
requirement: &
|
27
|
+
requirement: &70249786922720 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 2.3.4
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70249786922720
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: shoulda
|
38
|
-
requirement: &
|
38
|
+
requirement: &70249786921560 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 2.1.1
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70249786921560
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: mocha
|
49
|
-
requirement: &
|
49
|
+
requirement: &70249786898020 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 0.9.5
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70249786898020
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: rake
|
60
|
-
requirement: &
|
60
|
+
requirement: &70249786895900 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70249786895900
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: i18n
|
71
|
-
requirement: &
|
71
|
+
requirement: &70249786893560 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,7 +76,7 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70249786893560
|
80
80
|
description: Clean ruby syntax for writing and deploying cron jobs.
|
81
81
|
email:
|
82
82
|
- javan@javan.us
|