daemon-kit 0.1.7.10 → 0.1.7.11
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +5 -0
- data/Configuration.txt +8 -0
- data/History.txt +13 -1
- data/Logging.txt +4 -0
- data/Manifest.txt +7 -1
- data/PostInstall.txt +1 -1
- data/README.rdoc +9 -13
- data/Rakefile +22 -30
- data/TODO.txt +1 -10
- data/app_generators/daemon_kit/daemon_kit_generator.rb +18 -1
- data/app_generators/daemon_kit/templates/config/boot.rb +6 -15
- data/app_generators/daemon_kit/templates/config/environments/production.rb +3 -0
- data/bin/{daemon_kit → daemon-kit} +0 -0
- data/config/website.yml +2 -0
- data/daemon-kit.gemspec +264 -0
- data/daemon_generators/nanite_agent/templates/config/nanite.yml +2 -2
- data/daemon_generators/rspec/templates/spec/spec_helper.rb +3 -1
- data/daemon_generators/rspec/templates/tasks/rspec.rake +8 -10
- data/daemon_generators/test_unit/USAGE +5 -0
- data/daemon_generators/test_unit/templates/tasks/test_unit.rake +7 -0
- data/daemon_generators/test_unit/templates/test/test.rb +9 -0
- data/daemon_generators/test_unit/templates/test/test_helper.rb +6 -0
- data/daemon_generators/test_unit/test_unit_generator.rb +51 -0
- data/lib/daemon_kit.rb +9 -1
- data/lib/daemon_kit/abstract_logger.rb +6 -0
- data/lib/daemon_kit/application.rb +1 -0
- data/lib/daemon_kit/arguments.rb +5 -0
- data/lib/daemon_kit/error_handlers/hoptoad.rb +4 -4
- data/lib/daemon_kit/exceptions.rb +7 -0
- data/lib/daemon_kit/initializer.rb +25 -11
- data/lib/daemon_kit/nanite/agent.rb +26 -5
- data/lib/daemon_kit/ruote_workitem.rb +9 -1
- data/lib/daemon_kit/tasks/god.rake +1 -1
- data/lib/daemon_kit/xmpp.rb +31 -0
- data/tasks/cucumber.rake +13 -0
- data/tasks/tests.rake +6 -0
- data/templates/god/god.erb +2 -2
- data/test/test_ruote_generator.rb +8 -2
- data/test/test_test_unit_generator.rb +46 -0
- metadata +45 -36
data/Configuration.txt
CHANGED
@@ -96,7 +96,15 @@ Things to note on privilege separation:
|
|
96
96
|
* File system permissions for +log/+ needs to be correct
|
97
97
|
* Daemon-kit will only shed privileges on the +start+ command, not on +run+
|
98
98
|
* Make sure your code is secure if accepting stuff from the outside world
|
99
|
+
* The daemon will continue to run if it failed, this is because the feature is experimental and could change in the future.
|
100
|
+
* The damon logs the reduced privileges in the log file shortly after booting, please check it carefully
|
99
101
|
|
100
102
|
The implementation stems from the advice given by Joe Damato on his blog post
|
101
103
|
http://timetobleed.com/tag/privilege-escalation/
|
102
104
|
|
105
|
+
IMPORTANT NOTE FOR OSX USERS:
|
106
|
+
|
107
|
+
Testing on my iBook with OSX 10.5.8 using Ruby 1.8.6-p287 failed to drop
|
108
|
+
privileges correctly because of the 'nobody' user's UID being too large
|
109
|
+
(Bignum), however testing with Ruby 1.9.1-p129 on OSX 10.5.8 did work as
|
110
|
+
expected.
|
data/History.txt
CHANGED
@@ -1,4 +1,16 @@
|
|
1
|
-
== 0.
|
1
|
+
== 0.2 (WIP)
|
2
|
+
|
3
|
+
* Renamed 'daemon_kit' executable to 'daemon-kit'
|
4
|
+
* Fixed some broken links in README.rdoc
|
5
|
+
* Sneaked in << on AbstractLogger for better Logger compatibility
|
6
|
+
* Support for Test::Unit in generated projects [skaar]
|
7
|
+
* Fixed missing DAEMON_ENV for test helpers
|
8
|
+
* Fixes for nanite configuration [skaar]
|
9
|
+
* Toughened up the ruote workitem parser
|
10
|
+
* Fixed issue with nanite services not being advertised correctly [Wijnand]
|
11
|
+
* Fixed some woes with rake if rspec gem is missing
|
12
|
+
|
13
|
+
== 0.1.7.10 2009-08-12
|
2
14
|
|
3
15
|
* Ruote remote participants
|
4
16
|
* Allow process umask to be configured, defaults to 022
|
data/Logging.txt
CHANGED
@@ -48,6 +48,10 @@ using the silence helper:
|
|
48
48
|
# logger will only report :error or higher levels
|
49
49
|
end
|
50
50
|
|
51
|
+
You can also set the logging per environment by editing the correct file in <em>config/environments</em>
|
52
|
+
|
53
|
+
config.log_level = :debug
|
54
|
+
|
51
55
|
=== Changing log levels via UNIX signals
|
52
56
|
|
53
57
|
Send your process the +USR1+ signal to toggle between <em>:debug</em>
|
data/Manifest.txt
CHANGED
@@ -26,7 +26,7 @@ app_generators/daemon_kit/templates/libexec/daemon.erb
|
|
26
26
|
app_generators/daemon_kit/templates/script/console
|
27
27
|
app_generators/daemon_kit/templates/script/destroy
|
28
28
|
app_generators/daemon_kit/templates/script/generate
|
29
|
-
bin/
|
29
|
+
bin/daemon-kit
|
30
30
|
daemon_generators/amqp/USAGE
|
31
31
|
daemon_generators/amqp/amqp_generator.rb
|
32
32
|
daemon_generators/amqp/templates/config/amqp.yml
|
@@ -74,6 +74,11 @@ daemon_generators/ruote/templates/config/ruote.yml
|
|
74
74
|
daemon_generators/ruote/templates/lib/daemon.rb
|
75
75
|
daemon_generators/ruote/templates/lib/sample.rb
|
76
76
|
daemon_generators/ruote/templates/libexec/daemon.rb
|
77
|
+
daemon_generators/test_unit/USAGE
|
78
|
+
daemon_generators/test_unit/templates/tasks/test_unit.rake
|
79
|
+
daemon_generators/test_unit/templates/test/test.rb
|
80
|
+
daemon_generators/test_unit/templates/test/test_helper.rb
|
81
|
+
daemon_generators/test_unit/test_unit_generator.rb
|
77
82
|
lib/daemon_kit.rb
|
78
83
|
lib/daemon_kit/abstract_logger.rb
|
79
84
|
lib/daemon_kit/amqp.rb
|
@@ -136,6 +141,7 @@ test/test_helper.rb
|
|
136
141
|
test/test_jabber_generator.rb
|
137
142
|
test/test_nanite_agent_generator.rb
|
138
143
|
test/test_ruote_generator.rb
|
144
|
+
test/test_test_unit_generator.rb
|
139
145
|
vendor/tmail-1.2.3/tmail.rb
|
140
146
|
vendor/tmail-1.2.3/tmail/address.rb
|
141
147
|
vendor/tmail-1.2.3/tmail/attachments.rb
|
data/PostInstall.txt
CHANGED
data/README.rdoc
CHANGED
@@ -26,15 +26,15 @@ Supported generators:
|
|
26
26
|
|
27
27
|
== Synopsis
|
28
28
|
|
29
|
-
$
|
29
|
+
$ daemon-kit -h
|
30
30
|
|
31
31
|
Get some help
|
32
32
|
|
33
|
-
$
|
33
|
+
$ daemon-kit [/path/to/your/daemon] [options]
|
34
34
|
|
35
35
|
The above command generates a skeleton daemon environment for you to adapt.
|
36
36
|
|
37
|
-
$
|
37
|
+
$ daemon-kit [/path/to/your/daemon] -i jabber
|
38
38
|
|
39
39
|
Use the 'jabber' generator instead of the default one.
|
40
40
|
|
@@ -46,23 +46,23 @@ The default generator creates a simple daemon with an infinite loop inside that
|
|
46
46
|
|
47
47
|
=== Jabber Generator
|
48
48
|
|
49
|
-
The jabber generator creates a simple daemon that leverages the
|
49
|
+
The jabber generator creates a simple daemon that leverages the xmpp4r-simple[http://xmpp4r-simple.rubyforge.org/] gem to process inbound messages. The daemon will manage the roster and other little tasks, leaving you to provide the hooks for processing messages, presence notifications and subscription request.
|
50
50
|
|
51
51
|
=== Cron Generator
|
52
52
|
|
53
|
-
The cron generator creates a simple daemon that leverages the
|
53
|
+
The cron generator creates a simple daemon that leverages the rufus-scheduler[http://github.com/jmettraux/rufus-scheduler] gem to create a simple cron-lie daemon. Please be aware that this daemon could never be a replacement for the battle-tested cron[http://www.gentoo.org/doc/en/cron-guide.xml] utility shipped standard with most *nix distributions.
|
54
54
|
|
55
55
|
=== AMQP Consumer Generator
|
56
56
|
|
57
|
-
The AMQP generator creates a simple daemon that has all the stub code and configuration in place to help you write AMQP consumers quickly and effectively. The generated daemon relies on the presence of the
|
57
|
+
The AMQP generator creates a simple daemon that has all the stub code and configuration in place to help you write AMQP consumers quickly and effectively. The generated daemon relies on the presence of the amqp[http://github.com/tmm1/amqp] gem.
|
58
58
|
|
59
59
|
=== Nanite Agent Generator
|
60
60
|
|
61
|
-
The
|
61
|
+
The nanite[http://github.com/ezmobius/nanite] agent generator gets you up and running with nanite agents very quickly.
|
62
62
|
|
63
63
|
=== ruote Remote Participants
|
64
64
|
|
65
|
-
The
|
65
|
+
The ruote[http://openwfe.rubyforge.org] remote participant generator speeds up the development of workflow participants that run outside of the Ruby process that houses the engine. Daemon-kit handles all the communication and delegation logic, allowing you to focus purely on your participant's activities.
|
66
66
|
|
67
67
|
== Requirements
|
68
68
|
|
@@ -88,11 +88,7 @@ Currently recommended to stick to the git repo:
|
|
88
88
|
$ rake gem
|
89
89
|
$ gem install pkg/daemon-kit-X.X.X.gem
|
90
90
|
|
91
|
-
|
92
|
-
|
93
|
-
$ gem install kennethkalmer-daemon-kit -s http://gems.github.com
|
94
|
-
|
95
|
-
Stable versions, when released are available directly from Rubyforge:
|
91
|
+
Stable versions, when released are available directly from Gemcutter:
|
96
92
|
|
97
93
|
$ gem install daemon-kit
|
98
94
|
|
data/Rakefile
CHANGED
@@ -1,37 +1,29 @@
|
|
1
|
-
|
2
|
-
gem 'hoe', '>= 2.1.0'
|
3
|
-
require 'hoe'
|
4
|
-
require 'fileutils'
|
5
|
-
require File.dirname(__FILE__) + '/lib/daemon_kit'
|
1
|
+
Dir['tasks/**/*.rake'].each { |t| load t }
|
6
2
|
|
7
|
-
|
8
|
-
Hoe.plugin :website
|
9
|
-
# Hoe.plugin :cucumberfeatures
|
3
|
+
require File.dirname(__FILE__) + '/lib/daemon_kit'
|
10
4
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
p.extra_dev_deps = [
|
24
|
-
['newgem', ">= #{::Newgem::VERSION}"]
|
25
|
-
]
|
5
|
+
begin
|
6
|
+
require 'jeweler'
|
7
|
+
Jeweler::Tasks.new do |gemspec|
|
8
|
+
gemspec.name = 'daemon-kit'
|
9
|
+
gemspec.version = DaemonKit::VERSION
|
10
|
+
gemspec.summary = 'Opinionated framework for Ruby daemons'
|
11
|
+
gemspec.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.'
|
12
|
+
gemspec.email = 'kenneth.kalmer@gmail.com'
|
13
|
+
gemspec.homepage = 'http://github.com/kennethkalmer/daemon-kit'
|
14
|
+
gemspec.authors = ['kenneth.kalmer@gmail.com']
|
15
|
+
gemspec.post_install_message = IO.read('PostInstall.txt')
|
16
|
+
gemspec.extra_rdoc_files.include '*.txt'
|
26
17
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
18
|
+
gemspec.add_dependency 'eventmachine', '>=0.12.8'
|
19
|
+
gemspec.add_dependency 'rubigen', '>=1.5.2'
|
20
|
+
gemspec.add_development_dependency 'rspec'
|
21
|
+
gemspec.add_development_dependency 'cucumber'
|
22
|
+
end
|
23
|
+
Jeweler::GemcutterTasks.new
|
24
|
+
rescue LoadError
|
25
|
+
puts "Jeweler not available. Install it with 'gem install jeweler'"
|
31
26
|
end
|
32
27
|
|
33
|
-
require 'newgem/tasks' # load /tasks/*.rake
|
34
|
-
Dir['tasks/**/*.rake'].each { |t| load t }
|
35
|
-
|
36
28
|
# TODO - want other tests/tasks run by default? Add them to the list
|
37
29
|
task :default => [:spec] #, :features]
|
data/TODO.txt
CHANGED
@@ -2,19 +2,13 @@
|
|
2
2
|
|
3
3
|
This is purely a drop in the bucket of what has to come...
|
4
4
|
|
5
|
-
== Eye on 0.2
|
6
|
-
|
7
|
-
* Support for dropping privileges
|
8
5
|
* Support for chroot'ing
|
9
6
|
* Altering process names (fully and temporary appending)
|
10
7
|
* bleak_house support
|
11
8
|
* Support for tweaking REE environment variables prior to launch (bash wrapper)
|
12
9
|
* Clustering support (run multiple workers out of same project)
|
13
|
-
* Full 1.9 support in the framework
|
14
|
-
|
15
|
-
== Later
|
16
|
-
|
17
10
|
* [IN PROGRESS] Error handling to the degree Rails does
|
11
|
+
* Support for custom error handlers in the project
|
18
12
|
* Easy configuration of an ORM of choice, including patching it if needed (ActiveRecord *cough*)
|
19
13
|
* Improved generators for creating skeleton daemons:
|
20
14
|
* Evented jabber bot
|
@@ -28,10 +22,7 @@ This is purely a drop in the bucket of what has to come...
|
|
28
22
|
* Integration tests for the specific daemons
|
29
23
|
* Some level of thread safety, or mechanisms to ease thread safety
|
30
24
|
* Built in utilities:
|
31
|
-
* Thread pool for 1.8
|
32
25
|
* Fibre pool for 1.9
|
33
26
|
* Some activesupport-esque functions until activesupport 3.0 hits the streets
|
34
27
|
* DRY up the following:
|
35
28
|
* Loading configuration files for the daemons
|
36
|
-
|
37
|
-
* DON'T FORGET 1.9 SUPPORT
|
@@ -7,12 +7,15 @@ class DaemonKitGenerator < RubiGen::Base
|
|
7
7
|
|
8
8
|
DEPLOYERS = ['none', 'capistrano']
|
9
9
|
|
10
|
+
TEST_FRAMEWORKS = [ 'rspec', 'test_unit' ]
|
11
|
+
|
10
12
|
default_options :shebang => DEFAULT_SHEBANG, :author => nil
|
11
13
|
|
12
14
|
attr_reader :daemon_name
|
13
15
|
attr_reader :installer
|
14
16
|
attr_reader :deployer
|
15
17
|
attr_reader :cucumber
|
18
|
+
attr_reader :test_framework
|
16
19
|
|
17
20
|
def initialize(runtime_args, runtime_options = {})
|
18
21
|
super
|
@@ -88,7 +91,13 @@ class DaemonKitGenerator < RubiGen::Base
|
|
88
91
|
m.directory "tasks"
|
89
92
|
|
90
93
|
# Tests
|
91
|
-
|
94
|
+
case test_framework
|
95
|
+
when 'rspec'
|
96
|
+
m.dependency "rspec", [daemon_name], :destination => destination_root, :collision => :force
|
97
|
+
when 'test_unit'
|
98
|
+
m.dependency "test_unit", [daemon_name], :destination => destination_root, :collision => :force
|
99
|
+
end
|
100
|
+
|
92
101
|
if cucumber
|
93
102
|
m.dependency "cucumber", [], :destination => destination_root, :collision => :force
|
94
103
|
end
|
@@ -137,6 +146,13 @@ EOS
|
|
137
146
|
options[:deployer] = deploy
|
138
147
|
end
|
139
148
|
|
149
|
+
opts.on("-T", "--test-with=type", String,
|
150
|
+
"Select your test framework.",
|
151
|
+
"Available test framworks: #{TEST_FRAMEWORKS.join(', ')}",
|
152
|
+
"Defaults to: rspec") do |test|
|
153
|
+
options[:test_framework] = test
|
154
|
+
end
|
155
|
+
|
140
156
|
opts.on("--cucumber",
|
141
157
|
"Install cucumber.") do
|
142
158
|
options[:cucumber] = true
|
@@ -156,6 +172,7 @@ EOS
|
|
156
172
|
@installer = options[:installer] || 'default'
|
157
173
|
@deployer = (options[:deployer] || 'none').strip
|
158
174
|
@cucumber = options[:cucumber] || false
|
175
|
+
@test_framework = options[:test_framework] || 'rspec'
|
159
176
|
end
|
160
177
|
|
161
178
|
end
|
@@ -40,26 +40,17 @@ module DaemonKit
|
|
40
40
|
class GemBoot < Boot
|
41
41
|
def load_initializer
|
42
42
|
begin
|
43
|
-
|
44
|
-
gem 'kennethkalmer-daemon-kit'
|
43
|
+
gem 'daemon-kit'
|
45
44
|
require 'daemon_kit/initializer'
|
46
|
-
rescue Gem::LoadError
|
47
|
-
|
48
|
-
|
49
|
-
require 'daemon_kit/initializer'
|
50
|
-
rescue Gem::LoadError => e
|
51
|
-
msg = <<EOF
|
52
|
-
You are missing the daemon-kit gem. Please install one of the following gems:
|
45
|
+
rescue Gem::LoadError => e
|
46
|
+
msg = <<EOF
|
47
|
+
You are missing the daemon-kit gem. Please install the following gems:
|
53
48
|
|
54
|
-
* Unstable - sudo gem install kennethkalmer-daemon-kit -s http://gems.github.com/
|
55
49
|
* Stable - sudo gem install daemon-kit
|
56
50
|
|
57
|
-
NOTE: The 'unstable' gem is loaded first, before falling back to the stable gem!
|
58
|
-
|
59
51
|
EOF
|
60
|
-
|
61
|
-
|
62
|
-
end
|
52
|
+
$stderr.puts msg
|
53
|
+
exit 1
|
63
54
|
end
|
64
55
|
end
|
65
56
|
end
|
File without changes
|
data/config/website.yml
ADDED
data/daemon-kit.gemspec
ADDED
@@ -0,0 +1,264 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{daemon-kit}
|
8
|
+
s.version = "0.1.7.11"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["kenneth.kalmer@gmail.com"]
|
12
|
+
s.date = %q{2009-11-30}
|
13
|
+
s.default_executable = %q{daemon-kit}
|
14
|
+
s.description = %q{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.}
|
15
|
+
s.email = %q{kenneth.kalmer@gmail.com}
|
16
|
+
s.executables = ["daemon-kit"]
|
17
|
+
s.extra_rdoc_files = [
|
18
|
+
"Configuration.txt",
|
19
|
+
"Deployment.txt",
|
20
|
+
"History.txt",
|
21
|
+
"Logging.txt",
|
22
|
+
"Manifest.txt",
|
23
|
+
"PostInstall.txt",
|
24
|
+
"README.rdoc",
|
25
|
+
"RuoteParticipants.txt",
|
26
|
+
"TODO.txt"
|
27
|
+
]
|
28
|
+
s.files = [
|
29
|
+
".gitignore",
|
30
|
+
"Configuration.txt",
|
31
|
+
"Deployment.txt",
|
32
|
+
"History.txt",
|
33
|
+
"Logging.txt",
|
34
|
+
"Manifest.txt",
|
35
|
+
"PostInstall.txt",
|
36
|
+
"README.rdoc",
|
37
|
+
"Rakefile",
|
38
|
+
"RuoteParticipants.txt",
|
39
|
+
"TODO.txt",
|
40
|
+
"app_generators/daemon_kit/USAGE",
|
41
|
+
"app_generators/daemon_kit/daemon_kit_generator.rb",
|
42
|
+
"app_generators/daemon_kit/templates/README",
|
43
|
+
"app_generators/daemon_kit/templates/Rakefile",
|
44
|
+
"app_generators/daemon_kit/templates/bin/daemon.erb",
|
45
|
+
"app_generators/daemon_kit/templates/config/arguments.rb",
|
46
|
+
"app_generators/daemon_kit/templates/config/boot.rb",
|
47
|
+
"app_generators/daemon_kit/templates/config/environment.rb",
|
48
|
+
"app_generators/daemon_kit/templates/config/environments/development.rb",
|
49
|
+
"app_generators/daemon_kit/templates/config/environments/production.rb",
|
50
|
+
"app_generators/daemon_kit/templates/config/environments/test.rb",
|
51
|
+
"app_generators/daemon_kit/templates/config/post-daemonize/readme",
|
52
|
+
"app_generators/daemon_kit/templates/config/pre-daemonize/readme",
|
53
|
+
"app_generators/daemon_kit/templates/lib/daemon.rb",
|
54
|
+
"app_generators/daemon_kit/templates/libexec/daemon.erb",
|
55
|
+
"app_generators/daemon_kit/templates/script/console",
|
56
|
+
"app_generators/daemon_kit/templates/script/destroy",
|
57
|
+
"app_generators/daemon_kit/templates/script/generate",
|
58
|
+
"bin/daemon-kit",
|
59
|
+
"config/website.yml",
|
60
|
+
"daemon-kit.gemspec",
|
61
|
+
"daemon_generators/amqp/USAGE",
|
62
|
+
"daemon_generators/amqp/amqp_generator.rb",
|
63
|
+
"daemon_generators/amqp/templates/config/amqp.yml",
|
64
|
+
"daemon_generators/amqp/templates/config/initializers/amqp.rb",
|
65
|
+
"daemon_generators/amqp/templates/libexec/daemon.rb",
|
66
|
+
"daemon_generators/cron/USAGE",
|
67
|
+
"daemon_generators/cron/cron_generator.rb",
|
68
|
+
"daemon_generators/cron/templates/config/initializers/cron.rb",
|
69
|
+
"daemon_generators/cron/templates/libexec/daemon.rb",
|
70
|
+
"daemon_generators/cucumber/USAGE",
|
71
|
+
"daemon_generators/cucumber/cucumber_generator.rb",
|
72
|
+
"daemon_generators/cucumber/templates/cucumber",
|
73
|
+
"daemon_generators/cucumber/templates/cucumber.rake",
|
74
|
+
"daemon_generators/cucumber/templates/cucumber_environment.rb",
|
75
|
+
"daemon_generators/cucumber/templates/env.rb",
|
76
|
+
"daemon_generators/deploy_capistrano/deploy_capistrano_generator.rb",
|
77
|
+
"daemon_generators/deploy_capistrano/templates/Capfile",
|
78
|
+
"daemon_generators/deploy_capistrano/templates/USAGE",
|
79
|
+
"daemon_generators/deploy_capistrano/templates/config/deploy.rb",
|
80
|
+
"daemon_generators/deploy_capistrano/templates/config/deploy/production.rb",
|
81
|
+
"daemon_generators/deploy_capistrano/templates/config/deploy/staging.rb",
|
82
|
+
"daemon_generators/deploy_capistrano/templates/config/environments/staging.rb",
|
83
|
+
"daemon_generators/jabber/USAGE",
|
84
|
+
"daemon_generators/jabber/jabber_generator.rb",
|
85
|
+
"daemon_generators/jabber/templates/config/initializers/jabber.rb",
|
86
|
+
"daemon_generators/jabber/templates/config/jabber.yml",
|
87
|
+
"daemon_generators/jabber/templates/libexec/daemon.rb",
|
88
|
+
"daemon_generators/nanite_agent/USAGE",
|
89
|
+
"daemon_generators/nanite_agent/nanite_agent_generator.rb",
|
90
|
+
"daemon_generators/nanite_agent/templates/config/initializers/nanite_agent.rb",
|
91
|
+
"daemon_generators/nanite_agent/templates/config/nanite.yml",
|
92
|
+
"daemon_generators/nanite_agent/templates/lib/actors/sample.rb",
|
93
|
+
"daemon_generators/nanite_agent/templates/libexec/daemon.rb",
|
94
|
+
"daemon_generators/rspec/USAGE",
|
95
|
+
"daemon_generators/rspec/rspec_generator.rb",
|
96
|
+
"daemon_generators/rspec/templates/spec.rb",
|
97
|
+
"daemon_generators/rspec/templates/spec/spec.opts",
|
98
|
+
"daemon_generators/rspec/templates/spec/spec_helper.rb",
|
99
|
+
"daemon_generators/rspec/templates/tasks/rspec.rake",
|
100
|
+
"daemon_generators/ruote/USAGE",
|
101
|
+
"daemon_generators/ruote/ruote_generator.rb",
|
102
|
+
"daemon_generators/ruote/templates/config/amqp.yml",
|
103
|
+
"daemon_generators/ruote/templates/config/initializers/ruote.rb",
|
104
|
+
"daemon_generators/ruote/templates/config/ruote.yml",
|
105
|
+
"daemon_generators/ruote/templates/lib/daemon.rb",
|
106
|
+
"daemon_generators/ruote/templates/lib/sample.rb",
|
107
|
+
"daemon_generators/ruote/templates/libexec/daemon.rb",
|
108
|
+
"daemon_generators/test_unit/USAGE",
|
109
|
+
"daemon_generators/test_unit/templates/tasks/test_unit.rake",
|
110
|
+
"daemon_generators/test_unit/templates/test/test.rb",
|
111
|
+
"daemon_generators/test_unit/templates/test/test_helper.rb",
|
112
|
+
"daemon_generators/test_unit/test_unit_generator.rb",
|
113
|
+
"lib/daemon_kit.rb",
|
114
|
+
"lib/daemon_kit/abstract_logger.rb",
|
115
|
+
"lib/daemon_kit/amqp.rb",
|
116
|
+
"lib/daemon_kit/application.rb",
|
117
|
+
"lib/daemon_kit/arguments.rb",
|
118
|
+
"lib/daemon_kit/commands/console.rb",
|
119
|
+
"lib/daemon_kit/config.rb",
|
120
|
+
"lib/daemon_kit/console_daemon.rb",
|
121
|
+
"lib/daemon_kit/core_ext.rb",
|
122
|
+
"lib/daemon_kit/core_ext/configurable.rb",
|
123
|
+
"lib/daemon_kit/core_ext/string.rb",
|
124
|
+
"lib/daemon_kit/cron.rb",
|
125
|
+
"lib/daemon_kit/cucumber/world.rb",
|
126
|
+
"lib/daemon_kit/deployment/capistrano.rb",
|
127
|
+
"lib/daemon_kit/em.rb",
|
128
|
+
"lib/daemon_kit/error_handlers/base.rb",
|
129
|
+
"lib/daemon_kit/error_handlers/hoptoad.rb",
|
130
|
+
"lib/daemon_kit/error_handlers/mail.rb",
|
131
|
+
"lib/daemon_kit/exceptions.rb",
|
132
|
+
"lib/daemon_kit/initializer.rb",
|
133
|
+
"lib/daemon_kit/jabber.rb",
|
134
|
+
"lib/daemon_kit/nanite.rb",
|
135
|
+
"lib/daemon_kit/nanite/agent.rb",
|
136
|
+
"lib/daemon_kit/pid_file.rb",
|
137
|
+
"lib/daemon_kit/ruote_participants.rb",
|
138
|
+
"lib/daemon_kit/ruote_pseudo_participant.rb",
|
139
|
+
"lib/daemon_kit/ruote_workitem.rb",
|
140
|
+
"lib/daemon_kit/safety.rb",
|
141
|
+
"lib/daemon_kit/tasks.rb",
|
142
|
+
"lib/daemon_kit/tasks/environment.rake",
|
143
|
+
"lib/daemon_kit/tasks/framework.rake",
|
144
|
+
"lib/daemon_kit/tasks/god.rake",
|
145
|
+
"lib/daemon_kit/tasks/log.rake",
|
146
|
+
"lib/daemon_kit/tasks/monit.rake",
|
147
|
+
"lib/daemon_kit/xmpp.rb",
|
148
|
+
"script/console",
|
149
|
+
"script/destroy",
|
150
|
+
"script/generate",
|
151
|
+
"script/txt2html",
|
152
|
+
"spec/abstract_logger_spec.rb",
|
153
|
+
"spec/argument_spec.rb",
|
154
|
+
"spec/config_spec.rb",
|
155
|
+
"spec/configurable_spec.rb",
|
156
|
+
"spec/daemon_kit_spec.rb",
|
157
|
+
"spec/error_handlers_spec.rb",
|
158
|
+
"spec/fixtures/env.yml",
|
159
|
+
"spec/fixtures/noenv.yml",
|
160
|
+
"spec/initializer_spec.rb",
|
161
|
+
"spec/spec.opts",
|
162
|
+
"spec/spec_helper.rb",
|
163
|
+
"tasks/cucumber.rake",
|
164
|
+
"tasks/rspec.rake",
|
165
|
+
"tasks/tests.rake",
|
166
|
+
"templates/god/god.erb",
|
167
|
+
"templates/monit/monit.erb",
|
168
|
+
"test/test_amqp_generator.rb",
|
169
|
+
"test/test_cron_generator.rb",
|
170
|
+
"test/test_daemon-kit_generator.rb",
|
171
|
+
"test/test_daemon_kit_config.rb",
|
172
|
+
"test/test_deploy_capistrano_generator.rb",
|
173
|
+
"test/test_generator_helper.rb",
|
174
|
+
"test/test_helper.rb",
|
175
|
+
"test/test_jabber_generator.rb",
|
176
|
+
"test/test_nanite_agent_generator.rb",
|
177
|
+
"test/test_ruote_generator.rb",
|
178
|
+
"test/test_test_unit_generator.rb",
|
179
|
+
"vendor/tmail-1.2.3/tmail.rb",
|
180
|
+
"vendor/tmail-1.2.3/tmail/address.rb",
|
181
|
+
"vendor/tmail-1.2.3/tmail/attachments.rb",
|
182
|
+
"vendor/tmail-1.2.3/tmail/base64.rb",
|
183
|
+
"vendor/tmail-1.2.3/tmail/compat.rb",
|
184
|
+
"vendor/tmail-1.2.3/tmail/config.rb",
|
185
|
+
"vendor/tmail-1.2.3/tmail/core_extensions.rb",
|
186
|
+
"vendor/tmail-1.2.3/tmail/encode.rb",
|
187
|
+
"vendor/tmail-1.2.3/tmail/header.rb",
|
188
|
+
"vendor/tmail-1.2.3/tmail/index.rb",
|
189
|
+
"vendor/tmail-1.2.3/tmail/interface.rb",
|
190
|
+
"vendor/tmail-1.2.3/tmail/loader.rb",
|
191
|
+
"vendor/tmail-1.2.3/tmail/mail.rb",
|
192
|
+
"vendor/tmail-1.2.3/tmail/mailbox.rb",
|
193
|
+
"vendor/tmail-1.2.3/tmail/main.rb",
|
194
|
+
"vendor/tmail-1.2.3/tmail/mbox.rb",
|
195
|
+
"vendor/tmail-1.2.3/tmail/net.rb",
|
196
|
+
"vendor/tmail-1.2.3/tmail/obsolete.rb",
|
197
|
+
"vendor/tmail-1.2.3/tmail/parser.rb",
|
198
|
+
"vendor/tmail-1.2.3/tmail/port.rb",
|
199
|
+
"vendor/tmail-1.2.3/tmail/quoting.rb",
|
200
|
+
"vendor/tmail-1.2.3/tmail/require_arch.rb",
|
201
|
+
"vendor/tmail-1.2.3/tmail/scanner.rb",
|
202
|
+
"vendor/tmail-1.2.3/tmail/scanner_r.rb",
|
203
|
+
"vendor/tmail-1.2.3/tmail/stringio.rb",
|
204
|
+
"vendor/tmail-1.2.3/tmail/utils.rb",
|
205
|
+
"vendor/tmail-1.2.3/tmail/version.rb",
|
206
|
+
"vendor/tmail.rb"
|
207
|
+
]
|
208
|
+
s.homepage = %q{http://github.com/kennethkalmer/daemon-kit}
|
209
|
+
s.post_install_message = %q{
|
210
|
+
For more information on daemon-kit, see http://kit.rubyforge.org/daemon-kit
|
211
|
+
|
212
|
+
To get started quickly run 'daemon-kit' without any arguments
|
213
|
+
|
214
|
+
|
215
|
+
}
|
216
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
217
|
+
s.require_paths = ["lib"]
|
218
|
+
s.rubygems_version = %q{1.3.5}
|
219
|
+
s.summary = %q{Opinionated framework for Ruby daemons}
|
220
|
+
s.test_files = [
|
221
|
+
"spec/abstract_logger_spec.rb",
|
222
|
+
"spec/argument_spec.rb",
|
223
|
+
"spec/config_spec.rb",
|
224
|
+
"spec/configurable_spec.rb",
|
225
|
+
"spec/daemon_kit_spec.rb",
|
226
|
+
"spec/error_handlers_spec.rb",
|
227
|
+
"spec/initializer_spec.rb",
|
228
|
+
"spec/spec_helper.rb",
|
229
|
+
"test/test_amqp_generator.rb",
|
230
|
+
"test/test_cron_generator.rb",
|
231
|
+
"test/test_daemon-kit_generator.rb",
|
232
|
+
"test/test_daemon_kit_config.rb",
|
233
|
+
"test/test_deploy_capistrano_generator.rb",
|
234
|
+
"test/test_generator_helper.rb",
|
235
|
+
"test/test_helper.rb",
|
236
|
+
"test/test_jabber_generator.rb",
|
237
|
+
"test/test_nanite_agent_generator.rb",
|
238
|
+
"test/test_ruote_generator.rb",
|
239
|
+
"test/test_test_unit_generator.rb"
|
240
|
+
]
|
241
|
+
|
242
|
+
if s.respond_to? :specification_version then
|
243
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
244
|
+
s.specification_version = 3
|
245
|
+
|
246
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
247
|
+
s.add_runtime_dependency(%q<eventmachine>, [">= 0.12.8"])
|
248
|
+
s.add_runtime_dependency(%q<rubigen>, [">= 1.5.2"])
|
249
|
+
s.add_development_dependency(%q<rspec>, [">= 0"])
|
250
|
+
s.add_development_dependency(%q<cucumber>, [">= 0"])
|
251
|
+
else
|
252
|
+
s.add_dependency(%q<eventmachine>, [">= 0.12.8"])
|
253
|
+
s.add_dependency(%q<rubigen>, [">= 1.5.2"])
|
254
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
255
|
+
s.add_dependency(%q<cucumber>, [">= 0"])
|
256
|
+
end
|
257
|
+
else
|
258
|
+
s.add_dependency(%q<eventmachine>, [">= 0.12.8"])
|
259
|
+
s.add_dependency(%q<rubigen>, [">= 1.5.2"])
|
260
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
261
|
+
s.add_dependency(%q<cucumber>, [">= 0"])
|
262
|
+
end
|
263
|
+
end
|
264
|
+
|