kennethkalmer-daemon-kit 0.1.6 → 0.1.7.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. data/Configuration.txt +58 -0
  2. data/History.txt +16 -0
  3. data/Manifest.txt +29 -2
  4. data/PostInstall.txt +1 -1
  5. data/{README.textile → README.rdoc} +31 -19
  6. data/Rakefile +2 -4
  7. data/TODO.txt +6 -5
  8. data/app_generators/daemon_kit/daemon_kit_generator.rb +29 -0
  9. data/app_generators/daemon_kit/templates/Rakefile +3 -1
  10. data/app_generators/daemon_kit/templates/config/arguments.rb +12 -0
  11. data/app_generators/daemon_kit/templates/config/boot.rb +2 -2
  12. data/app_generators/daemon_kit/templates/script/console +3 -0
  13. data/app_generators/daemon_kit/templates/script/destroy +14 -0
  14. data/app_generators/daemon_kit/templates/script/generate +14 -0
  15. data/daemon_generators/deploy_capistrano/deploy_capistrano_generator.rb +35 -0
  16. data/daemon_generators/deploy_capistrano/templates/Capfile +10 -0
  17. data/daemon_generators/deploy_capistrano/templates/USAGE +10 -0
  18. data/daemon_generators/deploy_capistrano/templates/config/deploy/production.rb +6 -0
  19. data/daemon_generators/deploy_capistrano/templates/config/deploy/staging.rb +6 -0
  20. data/daemon_generators/deploy_capistrano/templates/config/deploy.rb +51 -0
  21. data/daemon_generators/deploy_capistrano/templates/config/environments/staging.rb +0 -0
  22. data/lib/daemon_kit/application.rb +135 -11
  23. data/lib/daemon_kit/arguments.rb +151 -0
  24. data/lib/daemon_kit/commands/console.rb +38 -0
  25. data/lib/daemon_kit/config.rb +1 -0
  26. data/lib/daemon_kit/console_daemon.rb +2 -0
  27. data/lib/daemon_kit/core_ext/string.rb +22 -0
  28. data/lib/daemon_kit/core_ext.rb +1 -0
  29. data/lib/daemon_kit/deployment/capistrano.rb +485 -0
  30. data/lib/daemon_kit/initializer.rb +87 -25
  31. data/lib/daemon_kit/pid_file.rb +61 -0
  32. data/lib/daemon_kit/tasks/environment.rake +5 -4
  33. data/lib/daemon_kit/tasks/framework.rake +15 -1
  34. data/lib/daemon_kit/tasks/god.rake +62 -0
  35. data/lib/daemon_kit/tasks/monit.rake +29 -0
  36. data/lib/daemon_kit.rb +11 -5
  37. data/rubygems_generators/install_rspec/templates/spec/spec_helper.rb +1 -1
  38. data/spec/argument_spec.rb +51 -0
  39. data/spec/config_spec.rb +77 -0
  40. data/spec/daemon_kit_spec.rb +2 -2
  41. data/spec/fixtures/env.yml +15 -0
  42. data/spec/fixtures/noenv.yml +4 -0
  43. data/spec/initializer_spec.rb +4 -3
  44. data/spec/spec_helper.rb +8 -11
  45. data/templates/god/god.erb +69 -0
  46. data/templates/monit/monit.erb +14 -0
  47. data/test/test_daemon-kit_generator.rb +15 -1
  48. data/test/test_deploy_capistrano_generator.rb +48 -0
  49. metadata +41 -21
  50. data/lib/daemon_kit/patches/force_kill_wait.rb +0 -120
@@ -6,7 +6,7 @@ rescue LoadError
6
6
  require 'spec'
7
7
  end
8
8
 
9
- require File.dirname(__FILE__) + '/../config/boot'
9
+ require File.dirname(__FILE__) + '/../config/environment'
10
10
  DaemonKit::Application.running!
11
11
  require '<%= gem_name %>'
12
12
 
@@ -0,0 +1,51 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+
3
+ describe DaemonKit::Arguments do
4
+
5
+ describe "parsing ARGV" do
6
+
7
+ it "should extract the given command" do
8
+ argv = [ 'start', '-f', 'foo' ]
9
+ res = DaemonKit::Arguments.parse( argv )
10
+
11
+ res.first.should == :start
12
+ end
13
+
14
+ it "should have a default command if missing" do
15
+ argv = [ '-h' ]
16
+ res = DaemonKit::Arguments.parse( argv )
17
+
18
+ res.first.should == :run
19
+ end
20
+
21
+ it "should extract explicit configuration options" do
22
+ argv = [ 'start', '--config', 'environment=development' ]
23
+ res = DaemonKit::Arguments.parse( argv )
24
+
25
+ res.shift
26
+ res.first.should == [ 'environment=development' ]
27
+
28
+ res.last.should == []
29
+ end
30
+
31
+ it "should extract implicit configuration options" do
32
+ argv = [ '-e', 'production' ]
33
+ res = DaemonKit::Arguments.parse( argv )
34
+
35
+ res.shift
36
+ res.first.should == ['environment=production']
37
+
38
+ res.last.should == []
39
+ end
40
+
41
+ it "should extract daemon options" do
42
+ argv = [ 'start', '-h' ]
43
+ res = DaemonKit::Arguments.parse( argv )
44
+
45
+ res.shift
46
+ res.first.should == []
47
+
48
+ res.last.should == [ '-h' ]
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,77 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+
3
+ describe DaemonKit::Config do
4
+
5
+ describe "working with config data" do
6
+ before(:each) do
7
+ @config = DaemonKit::Config.new('foo' => 'bar')
8
+ end
9
+
10
+ it "should have string key access to values" do
11
+ @config['foo'].should == 'bar'
12
+ end
13
+
14
+ it "should have symbol key access to values" do
15
+ @config[:foo].should == 'bar'
16
+ end
17
+
18
+ it "should have instance accessors to values" do
19
+ @config.foo.should == 'bar'
20
+ end
21
+
22
+ it "should return the config as a has" do
23
+ @config.to_h.should == { 'foo' => 'bar' }
24
+ end
25
+
26
+ it "should be able to symbolize keys in returned hash" do
27
+ @config.to_h(true).should == { :foo => 'bar' }
28
+ end
29
+
30
+ it "should symbolize keys in a nested fashion"
31
+ end
32
+
33
+ describe "parsing files" do
34
+ before(:all) do
35
+ FileUtils.mkdir_p( DAEMON_ROOT + "/config" )
36
+ FileUtils.cp( File.dirname(__FILE__) + '/fixtures/env.yml', DAEMON_ROOT + '/config/' )
37
+ FileUtils.cp( File.dirname(__FILE__) + '/fixtures/noenv.yml', DAEMON_ROOT + '/config/' )
38
+ end
39
+
40
+ it "should parse env keys correctly" do
41
+ config = DaemonKit::Config.load('env')
42
+
43
+ config.test.should == 'yes!'
44
+ config.array.should_not be_empty
45
+ end
46
+
47
+ it "should not be worried about missing env keys" do
48
+ config = DaemonKit::Config.load('noenv')
49
+
50
+ config.string.should == 'value'
51
+ end
52
+
53
+ it "should accept symbol file names" do
54
+ config = DaemonKit::Config.load(:env)
55
+ config.test.should == 'yes!'
56
+ end
57
+
58
+ it "should bail on missing files" do
59
+ lambda {
60
+ DaemonKit::Config.load('missing')
61
+ }.should raise_error(ArgumentError)
62
+ end
63
+
64
+ it "should give direct hash access to a config" do
65
+ config = DaemonKit::Config.hash(:env)
66
+
67
+ config.should be_a_kind_of(Hash)
68
+ config.keys.should include('test')
69
+ end
70
+
71
+ it "should give direct symbolized hash access to a config" do
72
+ config = DaemonKit::Config.hash(:env, true)
73
+
74
+ config.keys.should include(:test)
75
+ end
76
+ end
77
+ end
@@ -1,7 +1,7 @@
1
1
  require File.dirname(__FILE__) + '/spec_helper.rb'
2
2
 
3
3
  describe DaemonKit do
4
-
4
+
5
5
  it "should work"
6
-
6
+
7
7
  end
@@ -0,0 +1,15 @@
1
+ # Test ENV keys
2
+
3
+ defaults: &defaults
4
+ string: value
5
+ array:
6
+ - entry
7
+ - entry
8
+
9
+ development:
10
+ test: no!
11
+ <<: *defaults
12
+
13
+ test:
14
+ test: yes!
15
+ <<: *defaults
@@ -0,0 +1,4 @@
1
+ string: value
2
+ array:
3
+ - entry
4
+ - entry
@@ -1,10 +1,11 @@
1
1
  require File.dirname(__FILE__) + '/spec_helper'
2
+ require 'daemon_kit/initializer'
2
3
 
3
4
  describe DaemonKit::Configuration do
4
5
  before(:each) do
5
6
  @configuration = DaemonKit::Configuration.new
6
7
  end
7
-
8
+
8
9
  it "should know our environment" do
9
10
  @configuration.environment.should_not be_nil
10
11
  end
@@ -16,7 +17,7 @@ describe DaemonKit::Configuration do
16
17
  it "should have a default log level" do
17
18
  @configuration.log_level.should_not be_nil
18
19
  end
19
-
20
+
20
21
  end
21
22
 
22
23
 
@@ -27,5 +28,5 @@ describe DaemonKit::Initializer do
27
28
  DaemonKit::Initializer.run(:initialize_logger)
28
29
  DaemonKit.logger.should_not be_nil
29
30
  end
30
-
31
+
31
32
  end
data/spec/spec_helper.rb CHANGED
@@ -1,19 +1,16 @@
1
- begin
2
- require 'spec'
3
- rescue LoadError
4
- require 'rubygems'
5
- gem 'rspec'
6
- require 'spec'
7
- end
8
-
9
- $:.unshift(File.dirname(__FILE__) + '/../lib')
10
- require 'daemon_kit'
1
+ require 'rubygems'
2
+ gem 'rspec'
3
+ require 'spec'
11
4
 
12
- gem 'mocha'
5
+ require 'mocha'
13
6
  require 'fileutils'
14
7
 
8
+ DAEMON_ENV = "test"
15
9
  DAEMON_ROOT = "#{File.dirname(__FILE__)}/../tmp"
16
10
 
11
+ $:.unshift( File.dirname(__FILE__) + '/../lib' )
12
+ require 'daemon_kit'
13
+
17
14
  Spec::Runner.configure do |config|
18
15
  # == Mock Framework
19
16
  #
@@ -0,0 +1,69 @@
1
+ #
2
+ # This is a configuration template for 'god' process monitoring.
3
+ #
4
+ # More information can be found at http://god.rubyforge.org/
5
+ #
6
+
7
+ DAEMON_ROOT = "<%= DaemonKit.root %>"
8
+
9
+ God.watch do |w|
10
+ w.name = '<%= DaemonKit.configuration.daemon_name %>'
11
+ w.interval = 30.seconds
12
+ w.start = "/usr/bin/env DAEMON_ENV=<%= DaemonKit.env %> <%= DaemonKit.root %>/bin/<%= DaemonKit.configuration.daemon_name %> start"
13
+ w.stop = "/usr/bin/env DAEMON_ENV=<%= DaemonKit.env %> <%= DaemonKit.root %>/bin/<%= DaemonKit.configuration.daemon_name %> stop"
14
+ w.start_grace = 10.seconds
15
+ w.stop_grace = 10.seconds
16
+ w.pid_file = "<%= DaemonKit.configuration.pid_file %>"
17
+ w.behavior(:clean_pid_file)
18
+ #w.uid = 'nobody'
19
+ #w.gid = 'nobody'
20
+
21
+ w.start_if do |start|
22
+ start.condition(:process_running) do |c|
23
+ c.interval = 30.seconds
24
+ c.running = false
25
+ c.notify = 'sysadmin'
26
+ end
27
+ end
28
+
29
+ w.restart_if do |restart|
30
+ restart.condition(:memory_usage) do |c|
31
+ c.above = 250.megabytes
32
+ c.times = [3, 5] # 3 out of 5 intervals
33
+ c.notify = 'sysadmin'
34
+ end
35
+
36
+ restart.condition(:cpu_usage) do |c|
37
+ c.above = 50.percent
38
+ c.times = 5
39
+ c.notify = 'sysadmin'
40
+ end
41
+ end
42
+
43
+ w.lifecycle do |on|
44
+ on.condition(:flapping) do |c|
45
+ c.to_state = [:start, :restart]
46
+ c.times = 5
47
+ c.within = 5.minute
48
+ c.transition = :unmonitored
49
+ c.retry_in = 10.minutes
50
+ c.retry_times = 5
51
+ c.retry_within = 2.hours
52
+ c.notify = 'sysadmin'
53
+ end
54
+ end
55
+ end
56
+
57
+ God::Contacts::Email.server_settings = {
58
+ :address => "smtp.gmail.com",
59
+ :port => 587,
60
+ :domain => "localhost",
61
+ :authentication => :plain,
62
+ :user_name => "you@gmail.com",
63
+ :password => "secret"
64
+ }
65
+
66
+ God.contact(:email) do |c|
67
+ c.name = 'sysadmin'
68
+ c.email = 'you@gmail.com'
69
+ end
@@ -0,0 +1,14 @@
1
+ #
2
+ # This monit configuration file is built from the monit wiki with some
3
+ # very basic checks on memory and CPU usage.
4
+ #
5
+ # See the man page at http://mmonit.com/monit/documentation/monit.html
6
+ # for more information.
7
+ #
8
+ check process <%= DaemonKit.configuration.daemon_name %> with pidfile <%= DaemonKit.configuration.pid_file %>
9
+ group daemons
10
+ start program = "/usr/bin/env DAEMON_ENV=<%= DaemonKit.env %> <%= DaemonKit.root %>/bin/<%= DaemonKit.configuration.daemon_name %> start"
11
+ stop program = "/usr/bin/env DAEMON_ENV=<%= DaemonKit.env %> <%= DaemonKit.root %>/bin/<%= DaemonKit.configuration.daemon_name %> stop"
12
+ if 5 restarts within 5 cycles then timeout
13
+ if cpu usage > 99% for 5 cycles then alert
14
+ if mem usage > 99% for 5 cycles then alert
@@ -2,7 +2,7 @@ require File.join(File.dirname(__FILE__), "test_generator_helper.rb")
2
2
 
3
3
  class TestDaemonKitGenerator < Test::Unit::TestCase
4
4
  include RubiGen::GeneratorTestHelper
5
-
5
+
6
6
  attr_reader :daemon_name
7
7
  def setup
8
8
  bare_setup
@@ -35,6 +35,7 @@ class TestDaemonKitGenerator < Test::Unit::TestCase
35
35
  assert_directory_exists "bin"
36
36
  assert_generated_file "bin/#{daemon_name}"
37
37
  assert_directory_exists "config"
38
+ assert_generated_file "config/arguments.rb"
38
39
  assert_generated_file "config/boot.rb"
39
40
  assert_generated_file "config/environment.rb"
40
41
  assert_generated_file "config/environments/development.rb"
@@ -49,10 +50,23 @@ class TestDaemonKitGenerator < Test::Unit::TestCase
49
50
  assert_directory_exists "libexec"
50
51
  assert_generated_file "libexec/#{daemon_name}-daemon.rb"
51
52
  assert_directory_exists "log"
53
+ assert_directory_exists "script"
54
+ assert_generated_file "script/console"
55
+ assert_generated_file "script/destroy"
56
+ assert_generated_file "script/generate"
52
57
  assert_directory_exists "spec"
53
58
  assert_directory_exists "tasks"
54
59
  assert_directory_exists "vendor"
55
60
  assert_directory_exists "tmp"
61
+
62
+ assert !File.exists?("#{APP_ROOT}/Capfile"), 'Capfile generated, but should not be'
63
+ end
64
+
65
+ def test_generator_with_capistrano_deployer
66
+ run_generator('daemon_kit', [APP_ROOT, '-d capistrano'], sources)
67
+
68
+ assert_generated_file "Capfile"
69
+ assert_generated_file "config/deploy.rb"
56
70
  end
57
71
 
58
72
  private
@@ -0,0 +1,48 @@
1
+ require File.join(File.dirname(__FILE__), "test_generator_helper.rb")
2
+
3
+
4
+ class TestDeployCapistranoGenerator < Test::Unit::TestCase
5
+ include RubiGen::GeneratorTestHelper
6
+
7
+ def setup
8
+ bare_setup
9
+ end
10
+
11
+ def teardown
12
+ bare_teardown
13
+ end
14
+
15
+ # Some generator-related assertions:
16
+ # assert_generated_file(name, &block) # block passed the file contents
17
+ # assert_directory_exists(name)
18
+ # assert_generated_class(name, &block)
19
+ # assert_generated_module(name, &block)
20
+ # assert_generated_test_for(name, &block)
21
+ # The assert_generated_(class|module|test_for) &block is passed the body of the class/module within the file
22
+ # assert_has_method(body, *methods) # check that the body has a list of methods (methods with parentheses not supported yet)
23
+ #
24
+ # Other helper methods are:
25
+ # app_root_files - put this in teardown to show files generated by the test method (e.g. p app_root_files)
26
+ # bare_setup - place this in setup method to create the APP_ROOT folder for each test
27
+ # bare_teardown - place this in teardown method to destroy the TMP_ROOT or APP_ROOT folder after each test
28
+
29
+ def test_generator_without_options
30
+ run_generator('deploy_capistrano', ['myapp'], sources)
31
+ assert_generated_file "Capfile"
32
+ assert_directory_exists "config"
33
+ assert_generated_file "config/deploy.rb"
34
+ assert_directory_exists "config/deploy"
35
+ assert_generated_file "config/deploy/staging.rb"
36
+ assert_generated_file "config/deploy/production.rb"
37
+ end
38
+
39
+ private
40
+ def sources
41
+ [RubiGen::PathSource.new(:test, File.join(File.dirname(__FILE__),"..", generator_path))
42
+ ]
43
+ end
44
+
45
+ def generator_path
46
+ "daemon_generators"
47
+ end
48
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kennethkalmer-daemon-kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kenneth Kalmer
@@ -9,19 +9,9 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-05-13 00:00:00 -07:00
12
+ date: 2009-05-31 00:00:00 -07:00
13
13
  default_executable: daemon_kit
14
14
  dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: daemons
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
23
- version: 1.0.10
24
- version:
25
15
  - !ruby/object:Gem::Dependency
26
16
  name: rubigen
27
17
  type: :runtime
@@ -40,7 +30,7 @@ dependencies:
40
30
  requirements:
41
31
  - - ">="
42
32
  - !ruby/object:Gem::Version
43
- version: 1.3.0
33
+ version: 1.4.1
44
34
  version:
45
35
  - !ruby/object:Gem::Dependency
46
36
  name: hoe
@@ -52,7 +42,7 @@ dependencies:
52
42
  - !ruby/object:Gem::Version
53
43
  version: 1.8.0
54
44
  version:
55
- description:
45
+ description: "Daemon Kit aims to simplify creating Ruby daemons by providing a sound application skeleton (through a generator), task specific generators (jabber bot, etc) and robust environment management code. Using simple built-in generators it is easy to created evented and non-evented daemons that perform a multitude of different tasks. Supported generators: * Evented and non-evented Jabber Bot (coming next) * Evented and non-evented loops (coming soon) * Queue poller (SQS, AMQP, etc) (coming soon)"
56
46
  email:
57
47
  - kenneth.kalmer@gmail.com
58
48
  executables:
@@ -60,15 +50,18 @@ executables:
60
50
  extensions: []
61
51
 
62
52
  extra_rdoc_files:
53
+ - Configuration.txt
63
54
  - History.txt
64
55
  - Manifest.txt
65
56
  - PostInstall.txt
57
+ - README.rdoc
66
58
  - TODO.txt
67
59
  files:
60
+ - Configuration.txt
68
61
  - History.txt
69
62
  - Manifest.txt
70
63
  - PostInstall.txt
71
- - README.textile
64
+ - README.rdoc
72
65
  - Rakefile
73
66
  - TODO.txt
74
67
  - app_generators/daemon_kit/USAGE
@@ -76,6 +69,7 @@ files:
76
69
  - app_generators/daemon_kit/templates/README
77
70
  - app_generators/daemon_kit/templates/Rakefile
78
71
  - app_generators/daemon_kit/templates/bin/daemon.erb
72
+ - app_generators/daemon_kit/templates/config/arguments.rb
79
73
  - app_generators/daemon_kit/templates/config/boot.rb
80
74
  - app_generators/daemon_kit/templates/config/environment.rb
81
75
  - app_generators/daemon_kit/templates/config/environments/development.rb
@@ -85,6 +79,9 @@ files:
85
79
  - app_generators/daemon_kit/templates/config/pre-daemonize/readme
86
80
  - app_generators/daemon_kit/templates/lib/daemon.rb
87
81
  - app_generators/daemon_kit/templates/libexec/daemon.erb
82
+ - app_generators/daemon_kit/templates/script/console
83
+ - app_generators/daemon_kit/templates/script/destroy
84
+ - app_generators/daemon_kit/templates/script/generate
88
85
  - bin/daemon_kit
89
86
  - daemon_generators/amqp/USAGE
90
87
  - daemon_generators/amqp/amqp_generator.rb
@@ -95,6 +92,13 @@ files:
95
92
  - daemon_generators/cron/cron_generator.rb
96
93
  - daemon_generators/cron/templates/config/initializers/cron.rb
97
94
  - daemon_generators/cron/templates/libexec/daemon.rb
95
+ - daemon_generators/deploy_capistrano/deploy_capistrano_generator.rb
96
+ - daemon_generators/deploy_capistrano/templates/Capfile
97
+ - daemon_generators/deploy_capistrano/templates/USAGE
98
+ - daemon_generators/deploy_capistrano/templates/config/deploy.rb
99
+ - daemon_generators/deploy_capistrano/templates/config/deploy/production.rb
100
+ - daemon_generators/deploy_capistrano/templates/config/deploy/staging.rb
101
+ - daemon_generators/deploy_capistrano/templates/config/environments/staging.rb
98
102
  - daemon_generators/jabber/USAGE
99
103
  - daemon_generators/jabber/jabber_generator.rb
100
104
  - daemon_generators/jabber/templates/config/initializers/jabber.rb
@@ -109,8 +113,14 @@ files:
109
113
  - lib/daemon_kit.rb
110
114
  - lib/daemon_kit/amqp.rb
111
115
  - lib/daemon_kit/application.rb
116
+ - lib/daemon_kit/arguments.rb
117
+ - lib/daemon_kit/commands/console.rb
112
118
  - lib/daemon_kit/config.rb
119
+ - lib/daemon_kit/console_daemon.rb
120
+ - lib/daemon_kit/core_ext.rb
121
+ - lib/daemon_kit/core_ext/string.rb
113
122
  - lib/daemon_kit/cron.rb
123
+ - lib/daemon_kit/deployment/capistrano.rb
114
124
  - lib/daemon_kit/error_handlers/base.rb
115
125
  - lib/daemon_kit/error_handlers/hoptoad.rb
116
126
  - lib/daemon_kit/error_handlers/mail.rb
@@ -118,11 +128,13 @@ files:
118
128
  - lib/daemon_kit/jabber.rb
119
129
  - lib/daemon_kit/nanite.rb
120
130
  - lib/daemon_kit/nanite/agent.rb
121
- - lib/daemon_kit/patches/force_kill_wait.rb
131
+ - lib/daemon_kit/pid_file.rb
122
132
  - lib/daemon_kit/safety.rb
123
133
  - lib/daemon_kit/tasks.rb
124
134
  - lib/daemon_kit/tasks/environment.rake
125
135
  - lib/daemon_kit/tasks/framework.rake
136
+ - lib/daemon_kit/tasks/god.rake
137
+ - lib/daemon_kit/tasks/monit.rake
126
138
  - rubygems_generators/install_rspec/USAGE
127
139
  - rubygems_generators/install_rspec/install_rspec_generator.rb
128
140
  - rubygems_generators/install_rspec/templates/spec.rb
@@ -133,31 +145,38 @@ files:
133
145
  - script/destroy
134
146
  - script/generate
135
147
  - script/txt2html
148
+ - spec/argument_spec.rb
149
+ - spec/config_spec.rb
136
150
  - spec/daemon_kit_spec.rb
151
+ - spec/fixtures/env.yml
152
+ - spec/fixtures/noenv.yml
137
153
  - spec/initializer_spec.rb
138
154
  - spec/spec.opts
139
155
  - spec/spec_helper.rb
140
156
  - tasks/rspec.rake
157
+ - templates/god/god.erb
158
+ - templates/monit/monit.erb
141
159
  - test/test_amqp_generator.rb
142
160
  - test/test_cron_generator.rb
143
161
  - test/test_daemon-kit_generator.rb
144
162
  - test/test_daemon_kit_config.rb
163
+ - test/test_deploy_capistrano_generator.rb
145
164
  - test/test_generator_helper.rb
146
165
  - test/test_helper.rb
147
166
  - test/test_jabber_generator.rb
148
167
  - test/test_nanite_agent_generator.rb
149
168
  has_rdoc: true
150
- homepage:
169
+ homepage: http://kit.rubyforge.org/daemon-kit/rdoc/
151
170
  post_install_message: |+
152
171
 
153
- For more information on daemon-kit, see http://daemon-kit.rubyforge.org
172
+ For more information on daemon-kit, see http://kit.rubyforge.org/daemon-kit
154
173
 
155
174
  To get started quickly run 'daemon_kit' without any arguments
156
175
 
157
176
 
158
177
  rdoc_options:
159
178
  - --main
160
- - README.textile
179
+ - README.rdoc
161
180
  require_paths:
162
181
  - lib
163
182
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -174,7 +193,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
174
193
  version:
175
194
  requirements: []
176
195
 
177
- rubyforge_project: daemon-kit
196
+ rubyforge_project: kit
178
197
  rubygems_version: 1.2.0
179
198
  signing_key:
180
199
  specification_version: 2
@@ -185,6 +204,7 @@ test_files:
185
204
  - test/test_cron_generator.rb
186
205
  - test/test_amqp_generator.rb
187
206
  - test/test_nanite_agent_generator.rb
188
- - test/test_daemon-kit_generator.rb
189
207
  - test/test_daemon_kit_config.rb
190
208
  - test/test_helper.rb
209
+ - test/test_deploy_capistrano_generator.rb
210
+ - test/test_daemon-kit_generator.rb