jsierles-sprinkle 0.1.9

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.
Files changed (89) hide show
  1. data/CREDITS +19 -0
  2. data/History.txt +4 -0
  3. data/MIT-LICENSE +20 -0
  4. data/Manifest.txt +87 -0
  5. data/README.txt +238 -0
  6. data/Rakefile +4 -0
  7. data/bin/sprinkle +86 -0
  8. data/config/hoe.rb +70 -0
  9. data/config/requirements.rb +17 -0
  10. data/examples/packages/build_essential.rb +9 -0
  11. data/examples/packages/databases/mysql.rb +13 -0
  12. data/examples/packages/databases/sqlite3.rb +16 -0
  13. data/examples/packages/phusion.rb +55 -0
  14. data/examples/packages/ruby/rails.rb +9 -0
  15. data/examples/packages/ruby/ruby.rb +17 -0
  16. data/examples/packages/ruby/rubygems.rb +17 -0
  17. data/examples/packages/scm/git.rb +11 -0
  18. data/examples/packages/scm/subversion.rb +4 -0
  19. data/examples/packages/servers/apache.rb +15 -0
  20. data/examples/rails/README +15 -0
  21. data/examples/rails/deploy.rb +2 -0
  22. data/examples/rails/packages/database.rb +9 -0
  23. data/examples/rails/packages/essential.rb +9 -0
  24. data/examples/rails/packages/rails.rb +28 -0
  25. data/examples/rails/packages/scm.rb +11 -0
  26. data/examples/rails/packages/search.rb +11 -0
  27. data/examples/rails/packages/server.rb +28 -0
  28. data/examples/rails/rails.rb +73 -0
  29. data/examples/sprinkle/sprinkle.rb +38 -0
  30. data/lib/sprinkle.rb +32 -0
  31. data/lib/sprinkle/actors/actors.rb +17 -0
  32. data/lib/sprinkle/actors/capistrano.rb +117 -0
  33. data/lib/sprinkle/actors/local.rb +26 -0
  34. data/lib/sprinkle/actors/ssh.rb +81 -0
  35. data/lib/sprinkle/actors/vlad.rb +65 -0
  36. data/lib/sprinkle/configurable.rb +31 -0
  37. data/lib/sprinkle/deployment.rb +73 -0
  38. data/lib/sprinkle/extensions/arbitrary_options.rb +10 -0
  39. data/lib/sprinkle/extensions/array.rb +5 -0
  40. data/lib/sprinkle/extensions/blank_slate.rb +5 -0
  41. data/lib/sprinkle/extensions/dsl_accessor.rb +15 -0
  42. data/lib/sprinkle/extensions/string.rb +10 -0
  43. data/lib/sprinkle/extensions/symbol.rb +7 -0
  44. data/lib/sprinkle/installers/apt.rb +52 -0
  45. data/lib/sprinkle/installers/deb.rb +38 -0
  46. data/lib/sprinkle/installers/gem.rb +62 -0
  47. data/lib/sprinkle/installers/installer.rb +120 -0
  48. data/lib/sprinkle/installers/rake.rb +37 -0
  49. data/lib/sprinkle/installers/rpm.rb +37 -0
  50. data/lib/sprinkle/installers/source.rb +179 -0
  51. data/lib/sprinkle/installers/yum.rb +37 -0
  52. data/lib/sprinkle/package.rb +233 -0
  53. data/lib/sprinkle/policy.rb +125 -0
  54. data/lib/sprinkle/script.rb +23 -0
  55. data/lib/sprinkle/verifiers/directory.rb +16 -0
  56. data/lib/sprinkle/verifiers/executable.rb +36 -0
  57. data/lib/sprinkle/verifiers/file.rb +20 -0
  58. data/lib/sprinkle/verifiers/process.rb +21 -0
  59. data/lib/sprinkle/verifiers/ruby.rb +25 -0
  60. data/lib/sprinkle/verifiers/symlink.rb +30 -0
  61. data/lib/sprinkle/verify.rb +114 -0
  62. data/lib/sprinkle/version.rb +9 -0
  63. data/script/destroy +14 -0
  64. data/script/generate +14 -0
  65. data/spec/spec.opts +1 -0
  66. data/spec/spec_helper.rb +17 -0
  67. data/spec/sprinkle/actors/capistrano_spec.rb +170 -0
  68. data/spec/sprinkle/actors/local_spec.rb +29 -0
  69. data/spec/sprinkle/configurable_spec.rb +46 -0
  70. data/spec/sprinkle/deployment_spec.rb +80 -0
  71. data/spec/sprinkle/extensions/array_spec.rb +19 -0
  72. data/spec/sprinkle/extensions/string_spec.rb +21 -0
  73. data/spec/sprinkle/installers/apt_spec.rb +70 -0
  74. data/spec/sprinkle/installers/gem_spec.rb +75 -0
  75. data/spec/sprinkle/installers/installer_spec.rb +151 -0
  76. data/spec/sprinkle/installers/rake_spec.rb +29 -0
  77. data/spec/sprinkle/installers/rpm_spec.rb +50 -0
  78. data/spec/sprinkle/installers/source_spec.rb +331 -0
  79. data/spec/sprinkle/installers/yum_spec.rb +49 -0
  80. data/spec/sprinkle/package_spec.rb +422 -0
  81. data/spec/sprinkle/policy_spec.rb +126 -0
  82. data/spec/sprinkle/script_spec.rb +51 -0
  83. data/spec/sprinkle/sprinkle_spec.rb +25 -0
  84. data/spec/sprinkle/verify_spec.rb +160 -0
  85. data/sprinkle.gemspec +70 -0
  86. data/tasks/deployment.rake +34 -0
  87. data/tasks/environment.rake +7 -0
  88. data/tasks/rspec.rake +21 -0
  89. metadata +180 -0
@@ -0,0 +1,51 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe Sprinkle::Script, 'class' do
4
+
5
+ it 'should define a entry point into the system' do
6
+ Sprinkle::Script.should respond_to(:sprinkle)
7
+ end
8
+
9
+ end
10
+
11
+ describe Sprinkle::Script, 'when given a script' do
12
+
13
+ before do
14
+ @script = 'script'
15
+ @filename = 'filename'
16
+
17
+ @sprinkle = Sprinkle::Script.new
18
+ Sprinkle::Script.stub!(:new).and_return(@sprinkle)
19
+ end
20
+
21
+ it 'should create a new sprinkle instance' do
22
+ Sprinkle::Script.should_receive(:new).and_return(@sprinkle)
23
+ Sprinkle::Script.sprinkle @script
24
+ end
25
+
26
+ it 'should evaulate the sprinkle script against the instance' do
27
+ @sprinkle.should_receive(:instance_eval).and_return
28
+ Sprinkle::Script.sprinkle @script
29
+ end
30
+
31
+ it 'should specify the filename if given for line number errors' do
32
+ @sprinkle.should_receive(:instance_eval).with(@script, @filename).and_return
33
+ Sprinkle::Script.sprinkle @script, @filename
34
+ end
35
+
36
+ it 'should specify a filename of __SCRIPT__ by default if none is provided' do
37
+ @sprinkle.should_receive(:instance_eval).with(@script, '__SCRIPT__').and_return
38
+ Sprinkle::Script.sprinkle @script
39
+ end
40
+
41
+ it 'should automatically run in production mode by default' do
42
+ @sprinkle.should_receive(:instance_eval).with(@script, '__SCRIPT__').and_return
43
+ Sprinkle::Script.sprinkle @script
44
+ end
45
+
46
+ it 'should ask the Sprinkle instance to process the data from the script' do
47
+ @sprinkle.should_receive(:sprinkle)
48
+ Sprinkle::Script.sprinkle @script
49
+ end
50
+
51
+ end
@@ -0,0 +1,25 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe Sprinkle do
4
+
5
+ it 'should automatically extend Object to support package, policy and deployment DSL keywords' do
6
+ %w( package policy deployment ).each do |keyword|
7
+ Object.should respond_to(keyword.to_sym)
8
+ end
9
+ end
10
+
11
+ it 'should default to production mode' do
12
+ Sprinkle::OPTIONS[:testing].should be_false
13
+ end
14
+
15
+ it 'should automatically create a logger object on Kernel' do
16
+ Object.should respond_to(:logger)
17
+ logger.should_not be_nil
18
+ logger.class.should == ActiveSupport::BufferedLogger
19
+ end
20
+
21
+ it 'should create a logger of level INFO' do
22
+ logger.level.should == ActiveSupport::BufferedLogger::Severity::INFO
23
+ end
24
+
25
+ end
@@ -0,0 +1,160 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe Sprinkle::Verify do
4
+ before do
5
+ @name = :package
6
+ @package = package @name do
7
+ gem 'nonexistent'
8
+ verify 'moo' do
9
+ # Check a file exists
10
+ has_file 'my_file.txt'
11
+
12
+ # Check a directory exists
13
+ has_directory 'mydir'
14
+
15
+ # Check a symlink exists
16
+ has_symlink 'mypointer'
17
+
18
+ # Check a symlink points to a certain file
19
+ has_symlink 'mypointer', 'myfile'
20
+
21
+ # Check if an executable exists
22
+ has_executable '/usr/bin/ruby'
23
+
24
+ # Check if a global executable exists (in PATH)
25
+ has_executable 'rails'
26
+
27
+ # Check for a process
28
+ has_process 'httpd'
29
+
30
+ # Check that ruby can include files
31
+ ruby_can_load 'a', 'b', 'c'
32
+
33
+ # Check that a gem exists
34
+ has_gem 'rails'
35
+ has_gem 'rails', '2.1.0'
36
+ end
37
+ end
38
+ @verification = @package.verifications[0]
39
+ @delivery = mock(Sprinkle::Deployment, :process => true)
40
+ @verification.delivery = @delivery
41
+ end
42
+
43
+ describe 'when created' do
44
+ it 'should raise error without a block' do
45
+ lambda { Verify.new(nil, '') }.should raise_error
46
+ end
47
+ end
48
+
49
+ describe 'with checks' do
50
+ it 'should do a "test -f" on the has_file check' do
51
+ @verification.commands.should include('test -f my_file.txt')
52
+ end
53
+
54
+ it 'should do a "test -d" on the has_directory check' do
55
+ @verification.commands.should include('test -d mydir')
56
+ end
57
+
58
+ it 'should do a "test -L" to check something is a symbolic link' do
59
+ @verification.commands.should include('test -L mypointer')
60
+ end
61
+
62
+ it 'should do a test equality to check a symlink points to a specific file' do
63
+ @verification.commands.should include("test 'myfile' = `readlink mypointer`")
64
+ end
65
+
66
+ it 'should do a "test -x" to check for an executable' do
67
+ @verification.commands.should include("test -x /usr/bin/ruby")
68
+ end
69
+
70
+ it 'should test the "which" command to look for a global executable' do
71
+ @verification.commands.should include('[ -n "`echo \`which rails\``" ]')
72
+ end
73
+
74
+ it 'should test the process list to find a process' do
75
+ @verification.commands.should include("ps aux | grep 'httpd' | grep -v grep")
76
+ end
77
+
78
+ it 'should check if ruby can include a, b, c' do
79
+ @verification.commands.should include("ruby -e \"require 'rubygems';require 'a';require 'b';require 'c'\"")
80
+ end
81
+
82
+ it 'should check that a ruby gem is installed' do
83
+ @verification.commands.should include("sudo gem list | grep -e '^rails (.*.*)$'")
84
+ @verification.commands.should include("sudo gem list | grep -e '^rails (.*2\\.1\\.0.*)$'")
85
+ end
86
+ end
87
+
88
+ describe 'with configurations' do
89
+ # Make sure it includes Sprinkle::Configurable
90
+ it 'should respond to configurable methods' do
91
+ @verification.should respond_to(:defaults)
92
+ end
93
+
94
+ it 'should default padding option to 4' do
95
+ @verification.padding.should eql(4)
96
+ end
97
+ end
98
+
99
+ describe 'with process' do
100
+ it 'should raise an error when no delivery mechanism is set' do
101
+ @verification.instance_variable_set(:@delivery, nil)
102
+ lambda { @verification.process([]) }.should raise_error
103
+ end
104
+
105
+ describe 'when not testing' do
106
+ before do
107
+ # To be explicit
108
+ Sprinkle::OPTIONS[:testing] = false
109
+ end
110
+
111
+ it 'should call process on the delivery with the correct parameters' do
112
+ @delivery.should_receive(:process).with(@name, @verification.commands, [:app], true).once.and_return(true)
113
+ @verification.process([:app])
114
+ end
115
+
116
+ it 'should raise Sprinkle::VerificationFailed exception when commands fail' do
117
+ @delivery.should_receive(:process).once.and_return(false)
118
+ lambda { @verification.process([:app]) }.should raise_error(Sprinkle::VerificationFailed) do |error|
119
+ error.package.should eql(@package)
120
+ error.description.should eql('moo')
121
+ end
122
+ end
123
+ end
124
+
125
+ describe 'when testing' do
126
+ before do
127
+ Sprinkle::OPTIONS[:testing] = true
128
+ @logger = mock(ActiveSupport::BufferedLogger, :debug => true, :debug? => true)
129
+ end
130
+
131
+ it 'should not call process on the delivery' do
132
+ @delivery.should_not_receive(:process)
133
+ end
134
+
135
+ it 'should print the install sequence to the console' do
136
+ @verification.should_receive(:logger).twice.and_return(@logger)
137
+ end
138
+
139
+ after do
140
+ @verification.process([:app])
141
+ Sprinkle::OPTIONS[:testing] = false
142
+ end
143
+ end
144
+ end
145
+
146
+ describe 'with registering new verification modules' do
147
+ module MyModule
148
+ def rawr; end
149
+ end
150
+
151
+ it 'should not respond to rawr initially' do
152
+ @verification.should_not respond_to(:rawr)
153
+ end
154
+
155
+ it 'should respond to rawr after registering the module' do
156
+ Sprinkle::Verify.register(MyModule)
157
+ @verification.should respond_to(:rawr)
158
+ end
159
+ end
160
+ end
data/sprinkle.gemspec ADDED
@@ -0,0 +1,70 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = %q{sprinkle}
3
+ s.version = "0.1.9"
4
+
5
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
6
+ s.authors = ["Marcus Crafter", "Mitchell Hashimoto"]
7
+ s.date = %q{2008-11-25}
8
+ s.default_executable = %q{sprinkle}
9
+ s.description = %q{Ruby DSL based software provisioning tool}
10
+ s.email = ["crafterm@redartisan.com", "mitchell.hashimoto@citrusbyte.com"]
11
+ s.executables = ["sprinkle"]
12
+ s.extra_rdoc_files = ["History.txt", "Manifest.txt", "README.txt"]
13
+ s.files = ["CREDITS", "History.txt", "MIT-LICENSE", "Manifest.txt", "README.txt", "Rakefile", "bin/sprinkle",
14
+ "config/hoe.rb", "config/requirements.rb", "examples/packages/build_essential.rb",
15
+ "examples/packages/databases/mysql.rb", "examples/packages/databases/sqlite3.rb",
16
+ "examples/packages/phusion.rb", "examples/packages/ruby/rails.rb", "examples/packages/ruby/ruby.rb",
17
+ "examples/packages/ruby/rubygems.rb", "examples/packages/scm/git.rb", "examples/packages/scm/subversion.rb",
18
+ "examples/packages/servers/apache.rb", "examples/rails/README", "examples/rails/deploy.rb",
19
+ "examples/rails/packages/database.rb", "examples/rails/packages/essential.rb", "examples/rails/packages/rails.rb",
20
+ "examples/rails/packages/scm.rb", "examples/rails/packages/search.rb", "examples/rails/packages/server.rb",
21
+ "examples/rails/rails.rb", "examples/sprinkle/sprinkle.rb", "lib/sprinkle.rb", "lib/sprinkle/actors/actors.rb",
22
+ "lib/sprinkle/actors/capistrano.rb", "lib/sprinkle/actors/local.rb", "lib/sprinkle/actors/ssh.rb", "lib/sprinkle/actors/vlad.rb",
23
+ "lib/sprinkle/configurable.rb", "lib/sprinkle/deployment.rb", "lib/sprinkle/extensions/arbitrary_options.rb",
24
+ "lib/sprinkle/extensions/array.rb", "lib/sprinkle/extensions/blank_slate.rb", "lib/sprinkle/extensions/dsl_accessor.rb",
25
+ "lib/sprinkle/extensions/string.rb", "lib/sprinkle/extensions/symbol.rb", "lib/sprinkle/installers/apt.rb",
26
+ "lib/sprinkle/installers/deb.rb", "lib/sprinkle/installers/gem.rb", "lib/sprinkle/installers/installer.rb",
27
+ "lib/sprinkle/installers/rake.rb", "lib/sprinkle/installers/rpm.rb", "lib/sprinkle/installers/source.rb",
28
+ "lib/sprinkle/installers/yum.rb", "lib/sprinkle/package.rb", "lib/sprinkle/policy.rb", "lib/sprinkle/script.rb",
29
+ "lib/sprinkle/verifiers/directory.rb", "lib/sprinkle/verifiers/executable.rb", "lib/sprinkle/verifiers/file.rb",
30
+ "lib/sprinkle/verifiers/process.rb", "lib/sprinkle/verifiers/ruby.rb", "lib/sprinkle/verifiers/symlink.rb",
31
+ "lib/sprinkle/verify.rb", "lib/sprinkle/version.rb", "script/destroy", "script/generate", "sprinkle.gemspec",
32
+ "tasks/deployment.rake", "tasks/environment.rake", "tasks/rspec.rake"]
33
+
34
+ s.test_files = ["spec/spec.opts", "spec/spec_helper.rb", "spec/sprinkle/actors/capistrano_spec.rb",
35
+ "spec/sprinkle/actors/local_spec.rb", "spec/sprinkle/configurable_spec.rb", "spec/sprinkle/deployment_spec.rb",
36
+ "spec/sprinkle/extensions/array_spec.rb", "spec/sprinkle/extensions/string_spec.rb", "spec/sprinkle/installers/apt_spec.rb",
37
+ "spec/sprinkle/installers/gem_spec.rb", "spec/sprinkle/installers/installer_spec.rb", "spec/sprinkle/installers/rpm_spec.rb",
38
+ "spec/sprinkle/installers/yum_spec.rb", "spec/sprinkle/installers/source_spec.rb", "spec/sprinkle/package_spec.rb",
39
+ "spec/sprinkle/policy_spec.rb", "spec/sprinkle/script_spec.rb", "spec/sprinkle/sprinkle_spec.rb",
40
+ "spec/sprinkle/installers/rake_spec.rb", "spec/sprinkle/verify_spec.rb"]
41
+ s.has_rdoc = true
42
+ s.homepage = %q{http://sprinkle.rubyforge.org}
43
+ s.rdoc_options = ["--main", "README.txt"]
44
+ s.require_paths = ["lib"]
45
+ s.rubyforge_project = %q{sprinkle}
46
+ s.rubygems_version = %q{1.3.0}
47
+ s.summary = %q{Ruby DSL based software provisioning tool}
48
+
49
+ if s.respond_to? :specification_version then
50
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
51
+ s.specification_version = 2
52
+
53
+ if current_version >= 3 then
54
+ s.add_runtime_dependency(%q<activesupport>, [">= 2.0.2"])
55
+ s.add_runtime_dependency(%q<highline>, [">= 1.4.0"])
56
+ s.add_runtime_dependency(%q<capistrano>, [">= 2.2.0"])
57
+ s.add_development_dependency(%q<hoe>, [">= 1.8.2"])
58
+ else
59
+ s.add_dependency(%q<activesupport>, [">= 2.0.2"])
60
+ s.add_dependency(%q<highline>, [">= 1.4.0"])
61
+ s.add_dependency(%q<capistrano>, [">= 2.2.0"])
62
+ s.add_dependency(%q<hoe>, [">= 1.8.2"])
63
+ end
64
+ else
65
+ s.add_dependency(%q<activesupport>, [">= 2.0.2"])
66
+ s.add_dependency(%q<highline>, [">= 1.4.0"])
67
+ s.add_dependency(%q<capistrano>, [">= 2.2.0"])
68
+ s.add_dependency(%q<hoe>, [">= 1.8.2"])
69
+ end
70
+ end
@@ -0,0 +1,34 @@
1
+ desc 'Release the website and new gem version'
2
+ task :deploy => [:check_version, :website, :release] do
3
+ puts "Remember to create SVN tag:"
4
+ puts "svn copy svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}/trunk " +
5
+ "svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}/tags/REL-#{VERS} "
6
+ puts "Suggested comment:"
7
+ puts "Tagging release #{CHANGES}"
8
+ end
9
+
10
+ desc 'Runs tasks website_generate and install_gem as a local deployment of the gem'
11
+ task :local_deploy => [:website_generate, :install_gem]
12
+
13
+ task :check_version do
14
+ unless ENV['VERSION']
15
+ puts 'Must pass a VERSION=x.y.z release version'
16
+ exit
17
+ end
18
+ unless ENV['VERSION'] == VERS
19
+ puts "Please update your version.rb to match the release version, currently #{VERS}"
20
+ exit
21
+ end
22
+ end
23
+
24
+ desc 'Install the package as a gem, without generating documentation(ri/rdoc)'
25
+ task :install_gem_no_doc => [:clean, :package] do
26
+ sh "#{'sudo ' unless Hoe::WINDOZE }gem install pkg/*.gem --no-rdoc --no-ri"
27
+ end
28
+
29
+ namespace :manifest do
30
+ desc 'Recreate Manifest.txt to include ALL files'
31
+ task :refresh do
32
+ `rake check_manifest | patch -p0 > Manifest.txt`
33
+ end
34
+ end
@@ -0,0 +1,7 @@
1
+ task :ruby_env do
2
+ RUBY_APP = if RUBY_PLATFORM =~ /java/
3
+ "jruby"
4
+ else
5
+ "ruby"
6
+ end unless defined? RUBY_APP
7
+ end
data/tasks/rspec.rake ADDED
@@ -0,0 +1,21 @@
1
+ begin
2
+ require 'spec'
3
+ rescue LoadError
4
+ require 'rubygems'
5
+ require 'spec'
6
+ end
7
+ begin
8
+ require 'spec/rake/spectask'
9
+ rescue LoadError
10
+ puts <<-EOS
11
+ To use rspec for testing you must install rspec gem:
12
+ gem install rspec
13
+ EOS
14
+ exit(0)
15
+ end
16
+
17
+ desc "Run the specs under spec"
18
+ Spec::Rake::SpecTask.new do |t|
19
+ t.spec_opts = ['--options', "spec/spec.opts"]
20
+ t.spec_files = FileList['spec/**/*_spec.rb']
21
+ end
metadata ADDED
@@ -0,0 +1,180 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jsierles-sprinkle
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.9
5
+ platform: ruby
6
+ authors:
7
+ - Marcus Crafter
8
+ - Mitchell Hashimoto
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2008-11-25 00:00:00 -08:00
14
+ default_executable: sprinkle
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: activesupport
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 2.0.2
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: highline
27
+ version_requirement:
28
+ version_requirements: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.4.0
33
+ version:
34
+ - !ruby/object:Gem::Dependency
35
+ name: capistrano
36
+ version_requirement:
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: 2.2.0
42
+ version:
43
+ - !ruby/object:Gem::Dependency
44
+ name: hoe
45
+ version_requirement:
46
+ version_requirements: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: 1.8.2
51
+ version:
52
+ description: Ruby DSL based software provisioning tool
53
+ email:
54
+ - crafterm@redartisan.com
55
+ - mitchell.hashimoto@citrusbyte.com
56
+ executables:
57
+ - sprinkle
58
+ extensions: []
59
+
60
+ extra_rdoc_files:
61
+ - History.txt
62
+ - Manifest.txt
63
+ - README.txt
64
+ files:
65
+ - CREDITS
66
+ - History.txt
67
+ - MIT-LICENSE
68
+ - Manifest.txt
69
+ - README.txt
70
+ - Rakefile
71
+ - bin/sprinkle
72
+ - config/hoe.rb
73
+ - config/requirements.rb
74
+ - examples/packages/build_essential.rb
75
+ - examples/packages/databases/mysql.rb
76
+ - examples/packages/databases/sqlite3.rb
77
+ - examples/packages/phusion.rb
78
+ - examples/packages/ruby/rails.rb
79
+ - examples/packages/ruby/ruby.rb
80
+ - examples/packages/ruby/rubygems.rb
81
+ - examples/packages/scm/git.rb
82
+ - examples/packages/scm/subversion.rb
83
+ - examples/packages/servers/apache.rb
84
+ - examples/rails/README
85
+ - examples/rails/deploy.rb
86
+ - examples/rails/packages/database.rb
87
+ - examples/rails/packages/essential.rb
88
+ - examples/rails/packages/rails.rb
89
+ - examples/rails/packages/scm.rb
90
+ - examples/rails/packages/search.rb
91
+ - examples/rails/packages/server.rb
92
+ - examples/rails/rails.rb
93
+ - examples/sprinkle/sprinkle.rb
94
+ - lib/sprinkle.rb
95
+ - lib/sprinkle/actors/actors.rb
96
+ - lib/sprinkle/actors/capistrano.rb
97
+ - lib/sprinkle/actors/local.rb
98
+ - lib/sprinkle/actors/ssh.rb
99
+ - lib/sprinkle/actors/vlad.rb
100
+ - lib/sprinkle/configurable.rb
101
+ - lib/sprinkle/deployment.rb
102
+ - lib/sprinkle/extensions/arbitrary_options.rb
103
+ - lib/sprinkle/extensions/array.rb
104
+ - lib/sprinkle/extensions/blank_slate.rb
105
+ - lib/sprinkle/extensions/dsl_accessor.rb
106
+ - lib/sprinkle/extensions/string.rb
107
+ - lib/sprinkle/extensions/symbol.rb
108
+ - lib/sprinkle/installers/apt.rb
109
+ - lib/sprinkle/installers/deb.rb
110
+ - lib/sprinkle/installers/gem.rb
111
+ - lib/sprinkle/installers/installer.rb
112
+ - lib/sprinkle/installers/rake.rb
113
+ - lib/sprinkle/installers/rpm.rb
114
+ - lib/sprinkle/installers/source.rb
115
+ - lib/sprinkle/installers/yum.rb
116
+ - lib/sprinkle/package.rb
117
+ - lib/sprinkle/policy.rb
118
+ - lib/sprinkle/script.rb
119
+ - lib/sprinkle/verifiers/directory.rb
120
+ - lib/sprinkle/verifiers/executable.rb
121
+ - lib/sprinkle/verifiers/file.rb
122
+ - lib/sprinkle/verifiers/process.rb
123
+ - lib/sprinkle/verifiers/ruby.rb
124
+ - lib/sprinkle/verifiers/symlink.rb
125
+ - lib/sprinkle/verify.rb
126
+ - lib/sprinkle/version.rb
127
+ - script/destroy
128
+ - script/generate
129
+ - sprinkle.gemspec
130
+ - tasks/deployment.rake
131
+ - tasks/environment.rake
132
+ - tasks/rspec.rake
133
+ has_rdoc: true
134
+ homepage: http://sprinkle.rubyforge.org
135
+ post_install_message:
136
+ rdoc_options:
137
+ - --main
138
+ - README.txt
139
+ require_paths:
140
+ - lib
141
+ required_ruby_version: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: "0"
146
+ version:
147
+ required_rubygems_version: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: "0"
152
+ version:
153
+ requirements: []
154
+
155
+ rubyforge_project: sprinkle
156
+ rubygems_version: 1.2.0
157
+ signing_key:
158
+ specification_version: 2
159
+ summary: Ruby DSL based software provisioning tool
160
+ test_files:
161
+ - spec/spec.opts
162
+ - spec/spec_helper.rb
163
+ - spec/sprinkle/actors/capistrano_spec.rb
164
+ - spec/sprinkle/actors/local_spec.rb
165
+ - spec/sprinkle/configurable_spec.rb
166
+ - spec/sprinkle/deployment_spec.rb
167
+ - spec/sprinkle/extensions/array_spec.rb
168
+ - spec/sprinkle/extensions/string_spec.rb
169
+ - spec/sprinkle/installers/apt_spec.rb
170
+ - spec/sprinkle/installers/gem_spec.rb
171
+ - spec/sprinkle/installers/installer_spec.rb
172
+ - spec/sprinkle/installers/rpm_spec.rb
173
+ - spec/sprinkle/installers/yum_spec.rb
174
+ - spec/sprinkle/installers/source_spec.rb
175
+ - spec/sprinkle/package_spec.rb
176
+ - spec/sprinkle/policy_spec.rb
177
+ - spec/sprinkle/script_spec.rb
178
+ - spec/sprinkle/sprinkle_spec.rb
179
+ - spec/sprinkle/installers/rake_spec.rb
180
+ - spec/sprinkle/verify_spec.rb