taskmaster 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1 @@
1
+ --no-private --markup markdown lib/**/*.rb
data/Gemfile CHANGED
@@ -5,6 +5,7 @@ source "http://rubygems.org"
5
5
 
6
6
  gem 'whenever'
7
7
  gem 'activesupport'
8
+ gem 'i18n'
8
9
 
9
10
  # Add dependencies to develop your gem here.
10
11
  # Include everything needed to run rake, tests, features, etc.
@@ -14,4 +15,6 @@ group :development do
14
15
  gem "rcov", ">= 0"
15
16
  gem "rake", "0.8.7"
16
17
  gem "mocha", "~> 0.9"
18
+ gem "yard", "~> 0.6.0"
19
+ gem "bluecloth", "~> 2.1.0"
17
20
  end
@@ -1,9 +1,8 @@
1
- = taskmaster
1
+ # taskmaster
2
2
 
3
- Make your Ruby classes cron-aware!
3
+ Make your Ruby classes cron-aware! Taskmaster is a wrapper around the [whenever](https://rubygems.org/gems/whenever) gem that allows you to define your cron jobs within arbitrary Ruby classes, keeping those declarations next to the logic they rely on.
4
4
 
5
-
6
- == Example
5
+ ## Example
7
6
 
8
7
  The base case is simple -- just include the `Taskmaster::Henchman` module, define a `run` class method, and use `whenever` syntax to specify when and how often the method should run:
9
8
 
@@ -21,21 +20,16 @@ The base case is simple -- just include the `Taskmaster::Henchman` module, defin
21
20
 
22
21
  puts FootSoldier.cron_output # => "5,15,25,35,45,55 * * * * /bin/bash -l -c 'cd /... && script/runner -e production '\''BulkTask.run'\'''"
23
22
 
24
- You can override various pieces of this, including the name of the class method to run:
25
-
26
- every 10.minutes, :run => :special_method
27
-
28
- def self.special_method
29
- # I'm not the default!
30
- end
31
-
32
- Check the documentation on `Taskmaster::Henchman.every` for details on all the allowed options.
23
+ For details on the options accepted by `every`, see the documentation for {Taskmaster::Henchman::ClassMethods#every}.
33
24
 
34
- == TODO
25
+ To actually use this in production, though, you'll want to rely on the `taskmaster:write` Rake task. Once you've defined your various jobs in the classes:
35
26
 
36
- * add a binary script to fall back to whenever (for writing/updating crontab)
27
+ $ rake taskmaster:write
28
+ Your crontab has been written to config/schedule.rb. Please use the whenever script to write it to your system crontab.
29
+ $ whenever --write
30
+ [write] crontab file written
37
31
 
38
- == Contributing to taskmaster
32
+ ## Contributing to taskmaster
39
33
 
40
34
  * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
41
35
  * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
@@ -45,8 +39,7 @@ Check the documentation on `Taskmaster::Henchman.every` for details on all the a
45
39
  * Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
46
40
  * Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
47
41
 
48
- == Copyright
42
+ ## Copyright
49
43
 
50
- Copyright (c) 2011 Ben Scofield. See LICENSE.txt for
51
- further details.
44
+ Copyright (c) 2011 Ben Scofield. See LICENSE.txt for further details.
52
45
 
data/Rakefile CHANGED
@@ -42,12 +42,5 @@ end
42
42
 
43
43
  task :default => :test
44
44
 
45
- require 'rake/rdoctask'
46
- Rake::RDocTask.new do |rdoc|
47
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
48
-
49
- rdoc.rdoc_dir = 'rdoc'
50
- rdoc.title = "taskmaster #{version}"
51
- rdoc.rdoc_files.include('README*')
52
- rdoc.rdoc_files.include('lib/**/*.rb')
53
- end
45
+ require 'yard'
46
+ YARD::Rake::YardocTask.new
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.3.0
@@ -14,23 +14,37 @@ module Taskmaster
14
14
  end
15
15
 
16
16
  module ClassMethods
17
+ # Declares the cron job using `whenever` syntax.
18
+ #
19
+ # @param [Integer, #to_s] frequency any frequency defined as valid for `whenever` (e.g., 600 (seconds), 1.day, :sunday, '0 12 * * *')
20
+ # @param [Hash] options configuration options
21
+ # @option options [Symbol] :run (:run) the class method to call in the cron job
22
+ # @option options [Symbol] :with (:runner) the `whenever` job type to use when defining the cron job
23
+ # @option options [Integer, #to_s] :at a specific time to start the cron job (e.g., `every :hour, :at => 6' runs a job 6 minutes after every hour; `every :day, :at => '4:30 am' runs a job at 4:30 am every day.)
17
24
  def every(frequency, options = {})
18
25
  @scheduled_jobs ||= []
19
26
  method = options.delete(:run) || :run
20
- command = options.delete(:command) || :runner
27
+ command = options.delete(:with) || :runner
21
28
  @scheduled_jobs << "every #{frequency.to_s}, #{options.inspect} do
22
29
  #{command.to_s} \'#{self.name}.#{method.to_s}\'
23
30
  end"
24
31
  end
25
32
 
33
+ # Must be overridden by including classes
26
34
  def run
27
35
  raise 'Not implemented'
28
36
  end
29
37
 
38
+ # Cron syntax generated from the jobs scheduled in the including class
39
+ #
40
+ # @return [String] the cron syntax string
30
41
  def cron_output
31
42
  Whenever::JobList.new(@scheduled_jobs.join("\n")).generate_cron_output
32
43
  end
33
44
 
45
+ # Jobs scheduled by the including class
46
+ #
47
+ # @return [Array] an array of whenever-syntax jobs
34
48
  def scheduled_jobs
35
49
  @scheduled_jobs
36
50
  end
@@ -1,7 +1,7 @@
1
1
  require 'fileutils'
2
2
 
3
3
  namespace :taskmaster do
4
- desc "Preview the generated crontab"
4
+ desc "Preview the crontab for your defined jobs"
5
5
  task :preview do
6
6
  output = Taskmaster.cron_output
7
7
  puts output
@@ -13,6 +13,7 @@ namespace :taskmaster do
13
13
  FileUtils.mkdir_p 'config'
14
14
  FileUtils.touch 'config/schedule.rb'
15
15
  File.open('config/schedule.rb', File::WRONLY) do |file|
16
+ file << "# DO NOT EDIT THIS FILE -- it should only be modified with the taskmaster:write Rake task"
16
17
  file << output
17
18
  end
18
19
  puts "Your crontab has been written to config/schedule.rb. Please use the whenever script to write it to your system crontab."
@@ -5,22 +5,23 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{taskmaster}
8
- s.version = "0.2.0"
8
+ s.version = "0.3.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Ben Scofield"]
12
- s.date = %q{2011-06-17}
12
+ s.date = %q{2011-06-18}
13
13
  s.description = %q{Taskmaster allows you to easily make your Ruby classes aware of cron.}
14
14
  s.email = %q{git@turrean.com}
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE.txt",
17
- "README.rdoc"
17
+ "README.md"
18
18
  ]
19
19
  s.files = [
20
20
  ".document",
21
+ ".yardopts",
21
22
  "Gemfile",
22
23
  "LICENSE.txt",
23
- "README.rdoc",
24
+ "README.md",
24
25
  "Rakefile",
25
26
  "VERSION",
26
27
  "lib/taskmaster.rb",
@@ -37,7 +38,7 @@ Gem::Specification.new do |s|
37
38
  s.homepage = %q{http://github.com/bscofield/taskmaster}
38
39
  s.licenses = ["MIT"]
39
40
  s.require_paths = ["lib"]
40
- s.rubygems_version = %q{1.3.9.2}
41
+ s.rubygems_version = %q{1.5.2}
41
42
  s.summary = %q{Make your Ruby classes cron-aware}
42
43
 
43
44
  if s.respond_to? :specification_version then
@@ -46,28 +47,37 @@ Gem::Specification.new do |s|
46
47
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
47
48
  s.add_runtime_dependency(%q<whenever>, [">= 0"])
48
49
  s.add_runtime_dependency(%q<activesupport>, [">= 0"])
50
+ s.add_runtime_dependency(%q<i18n>, [">= 0"])
49
51
  s.add_development_dependency(%q<bundler>, ["~> 1"])
50
52
  s.add_development_dependency(%q<jeweler>, ["~> 1.6.2"])
51
53
  s.add_development_dependency(%q<rcov>, [">= 0"])
52
54
  s.add_development_dependency(%q<rake>, ["= 0.8.7"])
53
55
  s.add_development_dependency(%q<mocha>, ["~> 0.9"])
56
+ s.add_development_dependency(%q<yard>, ["~> 0.6.0"])
57
+ s.add_development_dependency(%q<bluecloth>, ["~> 2.1.0"])
54
58
  else
55
59
  s.add_dependency(%q<whenever>, [">= 0"])
56
60
  s.add_dependency(%q<activesupport>, [">= 0"])
61
+ s.add_dependency(%q<i18n>, [">= 0"])
57
62
  s.add_dependency(%q<bundler>, ["~> 1"])
58
63
  s.add_dependency(%q<jeweler>, ["~> 1.6.2"])
59
64
  s.add_dependency(%q<rcov>, [">= 0"])
60
65
  s.add_dependency(%q<rake>, ["= 0.8.7"])
61
66
  s.add_dependency(%q<mocha>, ["~> 0.9"])
67
+ s.add_dependency(%q<yard>, ["~> 0.6.0"])
68
+ s.add_dependency(%q<bluecloth>, ["~> 2.1.0"])
62
69
  end
63
70
  else
64
71
  s.add_dependency(%q<whenever>, [">= 0"])
65
72
  s.add_dependency(%q<activesupport>, [">= 0"])
73
+ s.add_dependency(%q<i18n>, [">= 0"])
66
74
  s.add_dependency(%q<bundler>, ["~> 1"])
67
75
  s.add_dependency(%q<jeweler>, ["~> 1.6.2"])
68
76
  s.add_dependency(%q<rcov>, [">= 0"])
69
77
  s.add_dependency(%q<rake>, ["= 0.8.7"])
70
78
  s.add_dependency(%q<mocha>, ["~> 0.9"])
79
+ s.add_dependency(%q<yard>, ["~> 0.6.0"])
80
+ s.add_dependency(%q<bluecloth>, ["~> 2.1.0"])
71
81
  end
72
82
  end
73
83
 
@@ -17,4 +17,7 @@ require 'taskmaster'
17
17
  require 'classes/foot_soldier'
18
18
 
19
19
  class Test::Unit::TestCase
20
+ def whenever_cd_path
21
+ File.expand_path(__FILE__ + '/../..')
22
+ end
20
23
  end
@@ -9,23 +9,23 @@ class TestHenchman < Test::Unit::TestCase
9
9
  end
10
10
 
11
11
  def test_the_base_case_should_work
12
- assert_equal "0,10,20,30,40,50 * * * * /bin/bash -l -c 'cd /Users/benscofield/personal/util/taskmaster && script/runner -e production '\\''FootSoldier.run'\\'''", FootSoldier.cron_output.strip
12
+ assert_equal "0,10,20,30,40,50 * * * * /bin/bash -l -c 'cd #{whenever_cd_path} && script/runner -e production '\\''FootSoldier.run'\\'''", FootSoldier.cron_output.strip
13
13
  end
14
14
 
15
15
  def test_scheduled_methods_should_be_overradble
16
- assert_equal "0 * * * * /bin/bash -l -c 'cd /Users/benscofield/personal/util/taskmaster && script/runner -e production '\\''SpecialSoldier.specialty'\\'''", SpecialSoldier.cron_output.strip
16
+ assert_equal "0 * * * * /bin/bash -l -c 'cd #{whenever_cd_path} && script/runner -e production '\\''SpecialSoldier.specialty'\\'''", SpecialSoldier.cron_output.strip
17
17
  end
18
18
 
19
19
  def test_multiple_tasks_can_live_in_a_class
20
20
  output = MultiSoldier.cron_output.split(/\n+/)
21
21
  assert_equal 2, output.size
22
22
 
23
- assert_equal "* * * * * /bin/bash -l -c 'cd /Users/benscofield/personal/util/taskmaster && script/runner -e production '\\''MultiSoldier.run'\\'''", output[0]
24
- assert_equal "0 * * * * /bin/bash -l -c 'cd /Users/benscofield/personal/util/taskmaster && script/runner -e production '\\''MultiSoldier.specialty'\\'''", output[1]
23
+ assert_equal "* * * * * /bin/bash -l -c 'cd #{whenever_cd_path} && script/runner -e production '\\''MultiSoldier.run'\\'''", output[0]
24
+ assert_equal "0 * * * * /bin/bash -l -c 'cd #{whenever_cd_path} && script/runner -e production '\\''MultiSoldier.specialty'\\'''", output[1]
25
25
  end
26
26
 
27
27
  def test_whenever_options_should_be_respected
28
- assert_equal "20 * * * * /bin/bash -l -c 'cd /Users/benscofield/personal/util/taskmaster && script/runner -e production '\\''SpecificSoldier.run'\\'''", SpecificSoldier.cron_output.strip
28
+ assert_equal "20 * * * * /bin/bash -l -c 'cd #{whenever_cd_path} && script/runner -e production '\\''SpecificSoldier.run'\\'''", SpecificSoldier.cron_output.strip
29
29
  end
30
30
 
31
31
  def test_different_whenever_commands_should_be_usable
@@ -44,10 +44,10 @@ WHENEVERSYNTAX
44
44
  def test_taskmaster_should_know_all_output
45
45
  output = Taskmaster.aggregate
46
46
 
47
- assert_equal "0,10,20,30,40,50 * * * * /bin/bash -l -c 'cd /Users/benscofield/personal/util/taskmaster && script/runner -e production '\\''FootSoldier.run'\\'''", output['FootSoldier']
48
- assert_equal "0 * * * * /bin/bash -l -c 'cd /Users/benscofield/personal/util/taskmaster && script/runner -e production '\\''SpecialSoldier.specialty'\\'''", output['SpecialSoldier']
49
- assert_equal "* * * * * /bin/bash -l -c 'cd /Users/benscofield/personal/util/taskmaster && script/runner -e production '\\''MultiSoldier.run'\\'''", output['MultiSoldier'].split(/\n+/)[0]
50
- assert_equal "0 * * * * /bin/bash -l -c 'cd /Users/benscofield/personal/util/taskmaster && script/runner -e production '\\''MultiSoldier.specialty'\\'''", output['MultiSoldier'].split(/\n+/)[1]
47
+ assert_equal "0,10,20,30,40,50 * * * * /bin/bash -l -c 'cd #{whenever_cd_path} && script/runner -e production '\\''FootSoldier.run'\\'''", output['FootSoldier']
48
+ assert_equal "0 * * * * /bin/bash -l -c 'cd #{whenever_cd_path} && script/runner -e production '\\''SpecialSoldier.specialty'\\'''", output['SpecialSoldier']
49
+ assert_equal "* * * * * /bin/bash -l -c 'cd #{whenever_cd_path} && script/runner -e production '\\''MultiSoldier.run'\\'''", output['MultiSoldier'].split(/\n+/)[0]
50
+ assert_equal "0 * * * * /bin/bash -l -c 'cd #{whenever_cd_path} && script/runner -e production '\\''MultiSoldier.specialty'\\'''", output['MultiSoldier'].split(/\n+/)[1]
51
51
  end
52
52
 
53
53
  def test_taskmaster_should_not_know_an_app_name_when_not_in_rails
@@ -62,21 +62,21 @@ WHENEVERSYNTAX
62
62
  def test_taskmaster_should_generate_sectioned_crontab_format
63
63
  expected = <<-OUTOUTDAMNEDSPOT
64
64
  #-- begin Taskmaster cron for hydra - FootSoldier
65
- 0,10,20,30,40,50 * * * * /bin/bash -l -c 'cd /Users/benscofield/personal/util/taskmaster && script/runner -e production '\\''FootSoldier.run'\\'''
65
+ 0,10,20,30,40,50 * * * * /bin/bash -l -c 'cd #{whenever_cd_path} && script/runner -e production '\\''FootSoldier.run'\\'''
66
66
  #-- end Taskmaster cron for hydra - FootSoldier
67
67
 
68
68
  #-- begin Taskmaster cron for hydra - SpecialSoldier
69
- 0 * * * * /bin/bash -l -c 'cd /Users/benscofield/personal/util/taskmaster && script/runner -e production '\\''SpecialSoldier.specialty'\\'''
69
+ 0 * * * * /bin/bash -l -c 'cd #{whenever_cd_path} && script/runner -e production '\\''SpecialSoldier.specialty'\\'''
70
70
  #-- end Taskmaster cron for hydra - SpecialSoldier
71
71
 
72
72
  #-- begin Taskmaster cron for hydra - MultiSoldier
73
- * * * * * /bin/bash -l -c 'cd /Users/benscofield/personal/util/taskmaster && script/runner -e production '\\''MultiSoldier.run'\\'''
73
+ * * * * * /bin/bash -l -c 'cd #{whenever_cd_path} && script/runner -e production '\\''MultiSoldier.run'\\'''
74
74
 
75
- 0 * * * * /bin/bash -l -c 'cd /Users/benscofield/personal/util/taskmaster && script/runner -e production '\\''MultiSoldier.specialty'\\'''
75
+ 0 * * * * /bin/bash -l -c 'cd #{whenever_cd_path} && script/runner -e production '\\''MultiSoldier.specialty'\\'''
76
76
  #-- end Taskmaster cron for hydra - MultiSoldier
77
77
 
78
78
  #-- begin Taskmaster cron for hydra - SpecificSoldier
79
- 20 * * * * /bin/bash -l -c 'cd /Users/benscofield/personal/util/taskmaster && script/runner -e production '\\''SpecificSoldier.run'\\'''
79
+ 20 * * * * /bin/bash -l -c 'cd #{whenever_cd_path} && script/runner -e production '\\''SpecificSoldier.run'\\'''
80
80
  #-- end Taskmaster cron for hydra - SpecificSoldier
81
81
 
82
82
  #-- begin Taskmaster cron for hydra - CommandSoldier
metadata CHANGED
@@ -1,106 +1,187 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: taskmaster
3
- version: !ruby/object:Gem::Version
4
- version: 0.2.0
3
+ version: !ruby/object:Gem::Version
4
+ hash: 19
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 3
9
+ - 0
10
+ version: 0.3.0
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Ben Scofield
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2011-06-17 00:00:00.000000000 -04:00
17
+
18
+ date: 2011-06-18 00:00:00 -04:00
13
19
  default_executable:
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: whenever
17
- requirement: &2152243520 !ruby/object:Gem::Requirement
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ version_requirements: &id001 !ruby/object:Gem::Requirement
18
23
  none: false
19
- requirements:
20
- - - ! '>='
21
- - !ruby/object:Gem::Version
22
- version: '0'
23
- type: :runtime
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ hash: 3
28
+ segments:
29
+ - 0
30
+ version: "0"
31
+ name: whenever
24
32
  prerelease: false
25
- version_requirements: *2152243520
26
- - !ruby/object:Gem::Dependency
27
- name: activesupport
28
- requirement: &2152243040 !ruby/object:Gem::Requirement
33
+ type: :runtime
34
+ requirement: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ version_requirements: &id002 !ruby/object:Gem::Requirement
29
37
  none: false
30
- requirements:
31
- - - ! '>='
32
- - !ruby/object:Gem::Version
33
- version: '0'
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ hash: 3
42
+ segments:
43
+ - 0
44
+ version: "0"
45
+ name: activesupport
46
+ prerelease: false
34
47
  type: :runtime
48
+ requirement: *id002
49
+ - !ruby/object:Gem::Dependency
50
+ version_requirements: &id003 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ hash: 3
56
+ segments:
57
+ - 0
58
+ version: "0"
59
+ name: i18n
35
60
  prerelease: false
36
- version_requirements: *2152243040
37
- - !ruby/object:Gem::Dependency
38
- name: bundler
39
- requirement: &2152242560 !ruby/object:Gem::Requirement
61
+ type: :runtime
62
+ requirement: *id003
63
+ - !ruby/object:Gem::Dependency
64
+ version_requirements: &id004 !ruby/object:Gem::Requirement
40
65
  none: false
41
- requirements:
66
+ requirements:
42
67
  - - ~>
43
- - !ruby/object:Gem::Version
44
- version: '1'
45
- type: :development
68
+ - !ruby/object:Gem::Version
69
+ hash: 1
70
+ segments:
71
+ - 1
72
+ version: "1"
73
+ name: bundler
46
74
  prerelease: false
47
- version_requirements: *2152242560
48
- - !ruby/object:Gem::Dependency
49
- name: jeweler
50
- requirement: &2152242080 !ruby/object:Gem::Requirement
75
+ type: :development
76
+ requirement: *id004
77
+ - !ruby/object:Gem::Dependency
78
+ version_requirements: &id005 !ruby/object:Gem::Requirement
51
79
  none: false
52
- requirements:
80
+ requirements:
53
81
  - - ~>
54
- - !ruby/object:Gem::Version
82
+ - !ruby/object:Gem::Version
83
+ hash: 11
84
+ segments:
85
+ - 1
86
+ - 6
87
+ - 2
55
88
  version: 1.6.2
56
- type: :development
89
+ name: jeweler
57
90
  prerelease: false
58
- version_requirements: *2152242080
59
- - !ruby/object:Gem::Dependency
60
- name: rcov
61
- requirement: &2152241600 !ruby/object:Gem::Requirement
62
- none: false
63
- requirements:
64
- - - ! '>='
65
- - !ruby/object:Gem::Version
66
- version: '0'
67
91
  type: :development
92
+ requirement: *id005
93
+ - !ruby/object:Gem::Dependency
94
+ version_requirements: &id006 !ruby/object:Gem::Requirement
95
+ none: false
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ hash: 3
100
+ segments:
101
+ - 0
102
+ version: "0"
103
+ name: rcov
68
104
  prerelease: false
69
- version_requirements: *2152241600
70
- - !ruby/object:Gem::Dependency
71
- name: rake
72
- requirement: &2152241120 !ruby/object:Gem::Requirement
105
+ type: :development
106
+ requirement: *id006
107
+ - !ruby/object:Gem::Dependency
108
+ version_requirements: &id007 !ruby/object:Gem::Requirement
73
109
  none: false
74
- requirements:
75
- - - =
76
- - !ruby/object:Gem::Version
110
+ requirements:
111
+ - - "="
112
+ - !ruby/object:Gem::Version
113
+ hash: 49
114
+ segments:
115
+ - 0
116
+ - 8
117
+ - 7
77
118
  version: 0.8.7
78
- type: :development
119
+ name: rake
79
120
  prerelease: false
80
- version_requirements: *2152241120
81
- - !ruby/object:Gem::Dependency
121
+ type: :development
122
+ requirement: *id007
123
+ - !ruby/object:Gem::Dependency
124
+ version_requirements: &id008 !ruby/object:Gem::Requirement
125
+ none: false
126
+ requirements:
127
+ - - ~>
128
+ - !ruby/object:Gem::Version
129
+ hash: 25
130
+ segments:
131
+ - 0
132
+ - 9
133
+ version: "0.9"
82
134
  name: mocha
83
- requirement: &2152240640 !ruby/object:Gem::Requirement
135
+ prerelease: false
136
+ type: :development
137
+ requirement: *id008
138
+ - !ruby/object:Gem::Dependency
139
+ version_requirements: &id009 !ruby/object:Gem::Requirement
84
140
  none: false
85
- requirements:
141
+ requirements:
86
142
  - - ~>
87
- - !ruby/object:Gem::Version
88
- version: '0.9'
143
+ - !ruby/object:Gem::Version
144
+ hash: 7
145
+ segments:
146
+ - 0
147
+ - 6
148
+ - 0
149
+ version: 0.6.0
150
+ name: yard
151
+ prerelease: false
89
152
  type: :development
153
+ requirement: *id009
154
+ - !ruby/object:Gem::Dependency
155
+ version_requirements: &id010 !ruby/object:Gem::Requirement
156
+ none: false
157
+ requirements:
158
+ - - ~>
159
+ - !ruby/object:Gem::Version
160
+ hash: 11
161
+ segments:
162
+ - 2
163
+ - 1
164
+ - 0
165
+ version: 2.1.0
166
+ name: bluecloth
90
167
  prerelease: false
91
- version_requirements: *2152240640
168
+ type: :development
169
+ requirement: *id010
92
170
  description: Taskmaster allows you to easily make your Ruby classes aware of cron.
93
171
  email: git@turrean.com
94
172
  executables: []
173
+
95
174
  extensions: []
96
- extra_rdoc_files:
175
+
176
+ extra_rdoc_files:
97
177
  - LICENSE.txt
98
- - README.rdoc
99
- files:
178
+ - README.md
179
+ files:
100
180
  - .document
181
+ - .yardopts
101
182
  - Gemfile
102
183
  - LICENSE.txt
103
- - README.rdoc
184
+ - README.md
104
185
  - Rakefile
105
186
  - VERSION
106
187
  - lib/taskmaster.rb
@@ -115,31 +196,37 @@ files:
115
196
  - test/test_taskmaster.rb
116
197
  has_rdoc: true
117
198
  homepage: http://github.com/bscofield/taskmaster
118
- licenses:
199
+ licenses:
119
200
  - MIT
120
201
  post_install_message:
121
202
  rdoc_options: []
122
- require_paths:
203
+
204
+ require_paths:
123
205
  - lib
124
- required_ruby_version: !ruby/object:Gem::Requirement
206
+ required_ruby_version: !ruby/object:Gem::Requirement
125
207
  none: false
126
- requirements:
127
- - - ! '>='
128
- - !ruby/object:Gem::Version
129
- version: '0'
130
- segments:
208
+ requirements:
209
+ - - ">="
210
+ - !ruby/object:Gem::Version
211
+ hash: 3
212
+ segments:
131
213
  - 0
132
- hash: 3484259382040423965
133
- required_rubygems_version: !ruby/object:Gem::Requirement
214
+ version: "0"
215
+ required_rubygems_version: !ruby/object:Gem::Requirement
134
216
  none: false
135
- requirements:
136
- - - ! '>='
137
- - !ruby/object:Gem::Version
138
- version: '0'
217
+ requirements:
218
+ - - ">="
219
+ - !ruby/object:Gem::Version
220
+ hash: 3
221
+ segments:
222
+ - 0
223
+ version: "0"
139
224
  requirements: []
225
+
140
226
  rubyforge_project:
141
- rubygems_version: 1.3.9.2
227
+ rubygems_version: 1.5.2
142
228
  signing_key:
143
229
  specification_version: 3
144
230
  summary: Make your Ruby classes cron-aware
145
231
  test_files: []
232
+