rubycut-babushka 0.10.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile +8 -0
- data/Gemfile.lock +31 -0
- data/README.markdown +246 -0
- data/Rakefile +26 -0
- data/bin/babushka +11 -0
- data/deps/babushka.rb +101 -0
- data/deps/dev.rb +12 -0
- data/deps/fhs.rb +31 -0
- data/deps/git.rb +29 -0
- data/deps/homebrew.rb +30 -0
- data/deps/os_x.rb +33 -0
- data/deps/packages.rb +22 -0
- data/deps/pkg_managers.rb +110 -0
- data/deps/ruby.rb +23 -0
- data/deps/rubygems.rb +24 -0
- data/deps/system.rb +10 -0
- data/deps/templates/app.rb +68 -0
- data/deps/templates/external.rb +12 -0
- data/deps/templates/installer.rb +31 -0
- data/deps/templates/managed.rb +105 -0
- data/deps/templates/ppa.rb +24 -0
- data/deps/templates/src.rb +42 -0
- data/deps/templates/tmbundle.rb +15 -0
- data/lib/babushka.rb +28 -0
- data/lib/babushka/accepts_block_for.rb +72 -0
- data/lib/babushka/accepts_list_for.rb +49 -0
- data/lib/babushka/accepts_value_for.rb +24 -0
- data/lib/babushka/base.rb +78 -0
- data/lib/babushka/bug_reporter.rb +55 -0
- data/lib/babushka/cmdline.rb +133 -0
- data/lib/babushka/cmdline/handler.rb +41 -0
- data/lib/babushka/cmdline/helpers.rb +127 -0
- data/lib/babushka/cmdline/parser.rb +69 -0
- data/lib/babushka/colorizer.rb +59 -0
- data/lib/babushka/core_patches/array.rb +171 -0
- data/lib/babushka/core_patches/blank.rb +22 -0
- data/lib/babushka/core_patches/bytes.rb +52 -0
- data/lib/babushka/core_patches/hash.rb +107 -0
- data/lib/babushka/core_patches/hashish.rb +14 -0
- data/lib/babushka/core_patches/integer.rb +25 -0
- data/lib/babushka/core_patches/io.rb +8 -0
- data/lib/babushka/core_patches/numeric.rb +16 -0
- data/lib/babushka/core_patches/object.rb +27 -0
- data/lib/babushka/core_patches/string.rb +116 -0
- data/lib/babushka/core_patches/symbol.rb +12 -0
- data/lib/babushka/core_patches/try.rb +15 -0
- data/lib/babushka/core_patches/uri.rb +24 -0
- data/lib/babushka/dep.rb +470 -0
- data/lib/babushka/dep_context.rb +18 -0
- data/lib/babushka/dep_definer.rb +115 -0
- data/lib/babushka/dep_pool.rb +49 -0
- data/lib/babushka/dep_runner.rb +85 -0
- data/lib/babushka/dsl.rb +26 -0
- data/lib/babushka/git_repo.rb +185 -0
- data/lib/babushka/helpers/git_helpers.rb +32 -0
- data/lib/babushka/helpers/log_helpers.rb +176 -0
- data/lib/babushka/helpers/path_helpers.rb +34 -0
- data/lib/babushka/helpers/run_helpers.rb +145 -0
- data/lib/babushka/helpers/shell_helpers.rb +229 -0
- data/lib/babushka/helpers/suggest_helpers.rb +16 -0
- data/lib/babushka/helpers/uri_helpers.rb +36 -0
- data/lib/babushka/ip.rb +160 -0
- data/lib/babushka/lambda_chooser.rb +40 -0
- data/lib/babushka/levenshtein.rb +125 -0
- data/lib/babushka/meta_dep.rb +65 -0
- data/lib/babushka/meta_dep_context.rb +15 -0
- data/lib/babushka/parameter.rb +143 -0
- data/lib/babushka/pkg_helper.rb +81 -0
- data/lib/babushka/pkg_helpers/apt_helper.rb +61 -0
- data/lib/babushka/pkg_helpers/base_helper.rb +19 -0
- data/lib/babushka/pkg_helpers/binpkgsrc_helper.rb +48 -0
- data/lib/babushka/pkg_helpers/binports_helper.rb +34 -0
- data/lib/babushka/pkg_helpers/brew_helper.rb +110 -0
- data/lib/babushka/pkg_helpers/gem_helper.rb +120 -0
- data/lib/babushka/pkg_helpers/macports_helper.rb +22 -0
- data/lib/babushka/pkg_helpers/npm_helper.rb +45 -0
- data/lib/babushka/pkg_helpers/pacman_helper.rb +27 -0
- data/lib/babushka/pkg_helpers/pip_helper.rb +45 -0
- data/lib/babushka/pkg_helpers/src_helper.rb +16 -0
- data/lib/babushka/pkg_helpers/yum_helper.rb +25 -0
- data/lib/babushka/popen.rb +40 -0
- data/lib/babushka/prompt.rb +176 -0
- data/lib/babushka/renderable.rb +67 -0
- data/lib/babushka/resource.rb +215 -0
- data/lib/babushka/run_reporter.rb +60 -0
- data/lib/babushka/shell.rb +108 -0
- data/lib/babushka/source.rb +216 -0
- data/lib/babushka/source_pool.rb +146 -0
- data/lib/babushka/system_definitions.rb +97 -0
- data/lib/babushka/system_profile.rb +210 -0
- data/lib/babushka/task.rb +142 -0
- data/lib/babushka/vars.rb +108 -0
- data/lib/babushka/version_of.rb +65 -0
- data/lib/babushka/version_str.rb +57 -0
- data/lib/babushka/xml_string.rb +28 -0
- data/lib/components.rb +82 -0
- data/lib/fancypath/fancypath.rb +200 -0
- data/lib/inkan/inkan.rb +76 -0
- data/spec/acceptance/acceptance.rb +43 -0
- data/spec/acceptance_helper.rb +113 -0
- data/spec/archives/Blah.app.zip +0 -0
- data/spec/archives/archive.tar +0 -0
- data/spec/archives/archive.tar.bz2 +0 -0
- data/spec/archives/archive.tar.gz +0 -0
- data/spec/archives/archive.tbz2 +0 -0
- data/spec/archives/archive.tgz +0 -0
- data/spec/archives/archive.zip +0 -0
- data/spec/archives/content.txt +5 -0
- data/spec/archives/invalid_archive +5 -0
- data/spec/archives/nested archive/content.txt +5 -0
- data/spec/archives/nested_archive.tar +0 -0
- data/spec/archives/really_a_gzip.zip +0 -0
- data/spec/archives/test-0.3.1.tgz +0 -0
- data/spec/archives/tgz_archive +0 -0
- data/spec/archives/zip_without_extension +0 -0
- data/spec/babushka/accepts_for_spec.rb +174 -0
- data/spec/babushka/accepts_for_support.rb +72 -0
- data/spec/babushka/cmdline/console_spec.rb +11 -0
- data/spec/babushka/cmdline/help_spec.rb +61 -0
- data/spec/babushka/cmdline/version_spec.rb +10 -0
- data/spec/babushka/core_patches_spec.rb +171 -0
- data/spec/babushka/dep_context_spec.rb +58 -0
- data/spec/babushka/dep_definer_spec.rb +152 -0
- data/spec/babushka/dep_definer_support.rb +36 -0
- data/spec/babushka/dep_spec.rb +567 -0
- data/spec/babushka/dep_support.rb +29 -0
- data/spec/babushka/deps_spec.rb +113 -0
- data/spec/babushka/gem_helper_spec.rb +90 -0
- data/spec/babushka/git_repo_spec.rb +396 -0
- data/spec/babushka/ip_spec.rb +131 -0
- data/spec/babushka/lambda_chooser_spec.rb +115 -0
- data/spec/babushka/meta_dep_definer_spec.rb +127 -0
- data/spec/babushka/meta_dep_wrapper_spec.rb +32 -0
- data/spec/babushka/parameter_spec.rb +135 -0
- data/spec/babushka/path_helpers_spec.rb +102 -0
- data/spec/babushka/prompt_spec.rb +188 -0
- data/spec/babushka/renderable_spec.rb +100 -0
- data/spec/babushka/resource_spec.rb +141 -0
- data/spec/babushka/run_helpers_spec.rb +26 -0
- data/spec/babushka/shell_helpers_spec.rb +244 -0
- data/spec/babushka/shell_spec.rb +19 -0
- data/spec/babushka/source_pool_spec.rb +320 -0
- data/spec/babushka/source_pool_support.rb +31 -0
- data/spec/babushka/source_spec.rb +382 -0
- data/spec/babushka/source_support.rb +17 -0
- data/spec/babushka/system_profile_spec.rb +61 -0
- data/spec/babushka/task_spec.rb +141 -0
- data/spec/babushka/uri_spec.rb +13 -0
- data/spec/babushka/vars_spec.rb +59 -0
- data/spec/babushka/version_of_spec.rb +110 -0
- data/spec/babushka/version_str_spec.rb +130 -0
- data/spec/babushka/version_str_support.rb +37 -0
- data/spec/babushka/xml_string_spec.rb +98 -0
- data/spec/deps/bad/broken.rb +7 -0
- data/spec/deps/bad/working.rb +3 -0
- data/spec/deps/good/meta.rb +14 -0
- data/spec/deps/good/test.rb +11 -0
- data/spec/deps/outer/deps.rb +19 -0
- data/spec/deps/outer/more deps.rb +11 -0
- data/spec/deps/params/params.rb +10 -0
- data/spec/fancypath/fancypath_spec.rb +272 -0
- data/spec/fancypath_support.rb +10 -0
- data/spec/inkan/inkan_spec.rb +217 -0
- data/spec/renderable/different_example.conf.erb +4 -0
- data/spec/renderable/example.conf.erb +3 -0
- data/spec/renderable/example.sh +6 -0
- data/spec/renderable/with_binding.conf.erb +4 -0
- data/spec/renderable/xml_example.conf.erb +8 -0
- data/spec/repos/remote.git.tgz +0 -0
- data/spec/spec_helper.rb +87 -0
- metadata +238 -0
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe "Inkan" do
|
|
4
|
+
describe '.legitimate?' do
|
|
5
|
+
context "without a hashbang" do
|
|
6
|
+
let(:content) { 'foo bar baz' }
|
|
7
|
+
|
|
8
|
+
it "returns true if the file contents match the SHA" do
|
|
9
|
+
open('/tmp/spec.txt', 'w') do |file|
|
|
10
|
+
file.puts "# Generated by Inkan: #{Digest::SHA1.hexdigest(content)}"
|
|
11
|
+
file.print content
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
Inkan.legitimate?('/tmp/spec.txt').should be_true
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
it "returns false if the file contents don't match the SHA" do
|
|
18
|
+
open('/tmp/spec.txt', 'w') do |file|
|
|
19
|
+
file.puts "# Generated by Inkan: #{Digest::SHA1.hexdigest(content)}"
|
|
20
|
+
file.puts content
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
Inkan.legitimate?('/tmp/spec.txt').should be_false
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
it "returns false if there is no SHA" do
|
|
27
|
+
open('/tmp/spec.txt', 'w') do |file|
|
|
28
|
+
file.print content
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
Inkan.legitimate?('/tmp/spec.txt').should be_false
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
context "with a hashbang" do
|
|
35
|
+
let(:content) { "#!/bin/sh\nfoo bar baz" }
|
|
36
|
+
|
|
37
|
+
it "returns true if the file contents match the SHA" do
|
|
38
|
+
open('/tmp/spec.txt', 'w') do |file|
|
|
39
|
+
file.puts '#!/bin/sh'
|
|
40
|
+
file.puts "# Generated by Inkan: #{Digest::SHA1.hexdigest(content)}"
|
|
41
|
+
file.print 'foo bar baz'
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
Inkan.legitimate?('/tmp/spec.txt').should be_true
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
it "returns false if the file contents don't match the SHA" do
|
|
48
|
+
open('/tmp/spec.txt', 'w') do |file|
|
|
49
|
+
file.puts '#!/bin/sh'
|
|
50
|
+
file.puts "# Generated by Inkan: #{Digest::SHA1.hexdigest(content)}"
|
|
51
|
+
file.puts 'foo bar baz'
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
Inkan.legitimate?('/tmp/spec.txt').should be_false
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
it "returns false if there is no SHA" do
|
|
58
|
+
open('/tmp/spec.txt', 'w') do |file|
|
|
59
|
+
file.print content
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
Inkan.legitimate?('/tmp/spec.txt').should be_false
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
describe '.seal' do
|
|
68
|
+
it "should write the file after closing the block" do
|
|
69
|
+
Inkan.seal('/tmp/spec.txt') do |inkan|
|
|
70
|
+
inkan.print 'foo bar baz'
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
contents = open('/tmp/spec.txt').read
|
|
74
|
+
contents.should match(/foo bar baz$/)
|
|
75
|
+
contents.should match(/^# Generated by Inkan/)
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
describe '.render' do
|
|
80
|
+
it "should return the result after closing the block" do
|
|
81
|
+
result = Inkan.render do |inkan|
|
|
82
|
+
inkan.print 'foo bar baz'
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
result.should match(/foo bar baz$/)
|
|
86
|
+
result.should match(/^# Generated by Inkan/)
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
describe '#seal' do
|
|
91
|
+
let(:inkan) { Inkan.new('/tmp/spec.txt') }
|
|
92
|
+
|
|
93
|
+
it "writes out the contents of the buffer" do
|
|
94
|
+
inkan.print "foo bar baz"
|
|
95
|
+
inkan.seal
|
|
96
|
+
|
|
97
|
+
open('/tmp/spec.txt').read.should match(/foo bar baz$/)
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
it "adds the credit line to the top of the file" do
|
|
101
|
+
inkan.print "foo bar baz"
|
|
102
|
+
inkan.seal
|
|
103
|
+
|
|
104
|
+
open('/tmp/spec.txt').read.should match(/^# Generated by Inkan/)
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
it "adds the SHA to the top of the file" do
|
|
108
|
+
inkan.print "foo bar baz"
|
|
109
|
+
inkan.seal
|
|
110
|
+
|
|
111
|
+
sha = Digest::SHA1.hexdigest("foo bar baz")
|
|
112
|
+
|
|
113
|
+
open('/tmp/spec.txt').read.should match(/#{sha}/)
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
describe '#render' do
|
|
118
|
+
let(:inkan) { Inkan.new(nil) }
|
|
119
|
+
|
|
120
|
+
before { shell "rm -f /tmp/spec.txt" }
|
|
121
|
+
|
|
122
|
+
it "writes out the contents of the buffer" do
|
|
123
|
+
inkan.print "foo bar baz"
|
|
124
|
+
inkan.render.should match(/foo bar baz$/)
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
context "when there is no hashbang" do
|
|
128
|
+
before { inkan.print "foo bar baz" }
|
|
129
|
+
it "adds the credit line to the top of the output" do
|
|
130
|
+
inkan.render.split("\n").first.should match(/^# Generated by Inkan/)
|
|
131
|
+
end
|
|
132
|
+
it "adds the SHA to the top of the output" do
|
|
133
|
+
sha = Digest::SHA1.hexdigest("foo bar baz")
|
|
134
|
+
inkan.render.split("\n").first.should match(/#{sha}/)
|
|
135
|
+
end
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
context "when there is a hashbang" do
|
|
139
|
+
before { inkan.print "#!/bin/sh\nfoo bar baz" }
|
|
140
|
+
it "leaves the hashbang at the top of the file" do
|
|
141
|
+
inkan.render.split("\n")[0].should == '#!/bin/sh'
|
|
142
|
+
end
|
|
143
|
+
it "adds the credit line to the top of the output below the hashbang" do
|
|
144
|
+
inkan.render.split("\n")[1].should match(/^# Generated by Inkan/)
|
|
145
|
+
end
|
|
146
|
+
it "adds the SHA to the top of the output below the hashbang" do
|
|
147
|
+
sha = Digest::SHA1.hexdigest("#!/bin/sh\nfoo bar baz")
|
|
148
|
+
inkan.render.split("\n")[1].should match(/#{sha}/)
|
|
149
|
+
end
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
it "doesn't write the file" do
|
|
153
|
+
inkan.print "foo bar baz"
|
|
154
|
+
inkan.render
|
|
155
|
+
File.exists?('/tmp/spec.txt').should be_false
|
|
156
|
+
end
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
describe '#puts' do
|
|
160
|
+
let(:inkan) { Inkan.new('/tmp/spec.txt') }
|
|
161
|
+
|
|
162
|
+
it "adds an extra new line to the output" do
|
|
163
|
+
inkan.puts "foo bar baz"
|
|
164
|
+
inkan.seal
|
|
165
|
+
|
|
166
|
+
open('/tmp/spec.txt').read.should match(/foo bar baz\n$/)
|
|
167
|
+
end
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
describe '#credit' do
|
|
171
|
+
let(:inkan) { Inkan.new('/tmp/spec.txt') }
|
|
172
|
+
|
|
173
|
+
it "defaults to 'Generated by Inkan'" do
|
|
174
|
+
inkan.credit.should == 'Generated by Inkan'
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
it "should pass through changes to the file comment" do
|
|
178
|
+
inkan.credit = "Pat's Magic Code"
|
|
179
|
+
inkan.print "foo bar baz"
|
|
180
|
+
inkan.seal
|
|
181
|
+
|
|
182
|
+
open('/tmp/spec.txt').read.should match(/^# Pat's Magic Code/)
|
|
183
|
+
end
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
describe '#comment' do
|
|
187
|
+
let(:inkan) { Inkan.new('/tmp/spec.txt') }
|
|
188
|
+
|
|
189
|
+
it "defaults to a hash symbol" do
|
|
190
|
+
inkan.comment.should == '#'
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
it "should pass through changes to the file credit" do
|
|
194
|
+
inkan.comment = "//"
|
|
195
|
+
inkan.print "foo bar baz"
|
|
196
|
+
inkan.seal
|
|
197
|
+
|
|
198
|
+
open('/tmp/spec.txt').read.should match(/^\/\/ Generated by Inkan/)
|
|
199
|
+
end
|
|
200
|
+
end
|
|
201
|
+
|
|
202
|
+
describe '#comment_suffix' do
|
|
203
|
+
let(:inkan) { Inkan.new('/tmp/spec.txt') }
|
|
204
|
+
|
|
205
|
+
it "defaults to a blank string" do
|
|
206
|
+
inkan.comment_suffix.should == ''
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
it "should pass through changes to the file comment" do
|
|
210
|
+
inkan.comment_suffix = "*/"
|
|
211
|
+
inkan.print "foo bar baz"
|
|
212
|
+
inkan.seal
|
|
213
|
+
|
|
214
|
+
open('/tmp/spec.txt').read.should match(/\*\/\n/)
|
|
215
|
+
end
|
|
216
|
+
end
|
|
217
|
+
end
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
cd .. # up from .git/
|
|
4
|
+
unset GIT_DIR # otherwise `git` commands can't see other repos
|
|
5
|
+
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # so we run against the right ruby
|
|
6
|
+
babushka 'benhoskings:up to date.repo' repo_path='.' git_ref_data="$(cat /dev/stdin)"
|
|
Binary file
|
data/spec/spec_helper.rb
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
$:.concat %w[spec/babushka spec/fancypath spec/inkan .]
|
|
4
|
+
|
|
5
|
+
require 'lib/babushka'
|
|
6
|
+
include Babushka
|
|
7
|
+
include Babushka::DSL
|
|
8
|
+
|
|
9
|
+
require 'rubygems'
|
|
10
|
+
require 'rspec'
|
|
11
|
+
|
|
12
|
+
# RSpec::Core::Example.send :include, Babushka::Helpers
|
|
13
|
+
RSpec::Core::ExampleGroup.send :include, Babushka::LogHelpers
|
|
14
|
+
RSpec::Core::ExampleGroup.send :include, Babushka::ShellHelpers
|
|
15
|
+
RSpec::Core::ExampleGroup.send :include, Babushka::PathHelpers
|
|
16
|
+
|
|
17
|
+
class Object
|
|
18
|
+
# Log and return unmodified in the same manner as #tapp, but escape the
|
|
19
|
+
# output to be HTML safe and easily readable. For example,
|
|
20
|
+
# #<Object:0x00000100bda208>
|
|
21
|
+
# becomes
|
|
22
|
+
# #<Object:0x00000100bda208><br />
|
|
23
|
+
def taph
|
|
24
|
+
tap {
|
|
25
|
+
puts "<pre>" +
|
|
26
|
+
"#{File.basename caller[2]}: #{self.inspect}".gsub('&', '&').gsub('<', '<') +
|
|
27
|
+
"</pre>"
|
|
28
|
+
}
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
puts "babushka@#{`git rev-parse --short HEAD`.strip} | ruby-#{RUBY_VERSION} | rspec-#{RSpec::Version::STRING}"
|
|
33
|
+
|
|
34
|
+
def tmp_prefix
|
|
35
|
+
"#{'/private' if Base.host.osx?}/tmp/rspec/its_ok_if_a_test_deletes_this/babushka"
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
`rm -rf '#{tmp_prefix}'` if File.exists? tmp_prefix
|
|
39
|
+
`mkdir -p '#{tmp_prefix}'` unless File.exists? tmp_prefix
|
|
40
|
+
|
|
41
|
+
module Babushka
|
|
42
|
+
class Resource
|
|
43
|
+
def archive_prefix
|
|
44
|
+
tmp_prefix / 'archives'
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
class Source
|
|
49
|
+
def remove!
|
|
50
|
+
!cloneable? || !File.exists?(path) || `rm -rf '#{path}'`
|
|
51
|
+
end
|
|
52
|
+
private
|
|
53
|
+
def self.sources_yml
|
|
54
|
+
tmp_prefix / 'sources.yml'
|
|
55
|
+
end
|
|
56
|
+
def self.source_prefix
|
|
57
|
+
tmp_prefix / 'sources'
|
|
58
|
+
end
|
|
59
|
+
def self.for_remote name
|
|
60
|
+
Source.new(default_remote_for(name), :name => name).tap {|source|
|
|
61
|
+
source.stub!(:update!) # don't hit the network to update sources during specs.
|
|
62
|
+
}
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
class VersionOf
|
|
67
|
+
# VersionOf#== should return false in testing unless other is also a VersionOf.
|
|
68
|
+
def == other
|
|
69
|
+
if other.is_a? VersionOf
|
|
70
|
+
name == other.name &&
|
|
71
|
+
version == other.version
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
class Logging
|
|
77
|
+
def self.print_log message, printable
|
|
78
|
+
# Don't log while running specs.
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
class BugReporter
|
|
83
|
+
def self.report dep
|
|
84
|
+
# Don't report exceptions during tests.
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: rubycut-babushka
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
hash: 59
|
|
5
|
+
prerelease:
|
|
6
|
+
segments:
|
|
7
|
+
- 0
|
|
8
|
+
- 10
|
|
9
|
+
- 6
|
|
10
|
+
version: 0.10.6
|
|
11
|
+
platform: ruby
|
|
12
|
+
authors:
|
|
13
|
+
- Ben Hoskings
|
|
14
|
+
- Rubycut
|
|
15
|
+
autorequire:
|
|
16
|
+
bindir: bin
|
|
17
|
+
cert_chain: []
|
|
18
|
+
|
|
19
|
+
date: 2011-11-13 00:00:00 Z
|
|
20
|
+
dependencies: []
|
|
21
|
+
|
|
22
|
+
description: Babushka is a tool for finding, running, writing and sharing recipies to automate things.
|
|
23
|
+
email:
|
|
24
|
+
- ben@hoskings.net
|
|
25
|
+
- ruby.cutter@gmail.com
|
|
26
|
+
executables:
|
|
27
|
+
- babushka
|
|
28
|
+
extensions: []
|
|
29
|
+
|
|
30
|
+
extra_rdoc_files: []
|
|
31
|
+
|
|
32
|
+
files:
|
|
33
|
+
- lib/inkan/inkan.rb
|
|
34
|
+
- lib/components.rb
|
|
35
|
+
- lib/babushka.rb
|
|
36
|
+
- lib/babushka/cmdline.rb
|
|
37
|
+
- lib/babushka/renderable.rb
|
|
38
|
+
- lib/babushka/meta_dep_context.rb
|
|
39
|
+
- lib/babushka/colorizer.rb
|
|
40
|
+
- lib/babushka/lambda_chooser.rb
|
|
41
|
+
- lib/babushka/dep.rb
|
|
42
|
+
- lib/babushka/pkg_helper.rb
|
|
43
|
+
- lib/babushka/source_pool.rb
|
|
44
|
+
- lib/babushka/task.rb
|
|
45
|
+
- lib/babushka/run_reporter.rb
|
|
46
|
+
- lib/babushka/prompt.rb
|
|
47
|
+
- lib/babushka/bug_reporter.rb
|
|
48
|
+
- lib/babushka/parameter.rb
|
|
49
|
+
- lib/babushka/accepts_list_for.rb
|
|
50
|
+
- lib/babushka/pkg_helpers/base_helper.rb
|
|
51
|
+
- lib/babushka/pkg_helpers/gem_helper.rb
|
|
52
|
+
- lib/babushka/pkg_helpers/pacman_helper.rb
|
|
53
|
+
- lib/babushka/pkg_helpers/brew_helper.rb
|
|
54
|
+
- lib/babushka/pkg_helpers/apt_helper.rb
|
|
55
|
+
- lib/babushka/pkg_helpers/pip_helper.rb
|
|
56
|
+
- lib/babushka/pkg_helpers/yum_helper.rb
|
|
57
|
+
- lib/babushka/pkg_helpers/binports_helper.rb
|
|
58
|
+
- lib/babushka/pkg_helpers/macports_helper.rb
|
|
59
|
+
- lib/babushka/pkg_helpers/npm_helper.rb
|
|
60
|
+
- lib/babushka/pkg_helpers/src_helper.rb
|
|
61
|
+
- lib/babushka/pkg_helpers/binpkgsrc_helper.rb
|
|
62
|
+
- lib/babushka/dep_pool.rb
|
|
63
|
+
- lib/babushka/version_of.rb
|
|
64
|
+
- lib/babushka/source.rb
|
|
65
|
+
- lib/babushka/cmdline/handler.rb
|
|
66
|
+
- lib/babushka/cmdline/parser.rb
|
|
67
|
+
- lib/babushka/cmdline/helpers.rb
|
|
68
|
+
- lib/babushka/base.rb
|
|
69
|
+
- lib/babushka/helpers/run_helpers.rb
|
|
70
|
+
- lib/babushka/helpers/uri_helpers.rb
|
|
71
|
+
- lib/babushka/helpers/shell_helpers.rb
|
|
72
|
+
- lib/babushka/helpers/path_helpers.rb
|
|
73
|
+
- lib/babushka/helpers/suggest_helpers.rb
|
|
74
|
+
- lib/babushka/helpers/git_helpers.rb
|
|
75
|
+
- lib/babushka/helpers/log_helpers.rb
|
|
76
|
+
- lib/babushka/meta_dep.rb
|
|
77
|
+
- lib/babushka/vars.rb
|
|
78
|
+
- lib/babushka/levenshtein.rb
|
|
79
|
+
- lib/babushka/system_profile.rb
|
|
80
|
+
- lib/babushka/system_definitions.rb
|
|
81
|
+
- lib/babushka/popen.rb
|
|
82
|
+
- lib/babushka/dep_runner.rb
|
|
83
|
+
- lib/babushka/core_patches/bytes.rb
|
|
84
|
+
- lib/babushka/core_patches/hashish.rb
|
|
85
|
+
- lib/babushka/core_patches/string.rb
|
|
86
|
+
- lib/babushka/core_patches/integer.rb
|
|
87
|
+
- lib/babushka/core_patches/hash.rb
|
|
88
|
+
- lib/babushka/core_patches/object.rb
|
|
89
|
+
- lib/babushka/core_patches/symbol.rb
|
|
90
|
+
- lib/babushka/core_patches/blank.rb
|
|
91
|
+
- lib/babushka/core_patches/try.rb
|
|
92
|
+
- lib/babushka/core_patches/uri.rb
|
|
93
|
+
- lib/babushka/core_patches/io.rb
|
|
94
|
+
- lib/babushka/core_patches/numeric.rb
|
|
95
|
+
- lib/babushka/core_patches/array.rb
|
|
96
|
+
- lib/babushka/dsl.rb
|
|
97
|
+
- lib/babushka/resource.rb
|
|
98
|
+
- lib/babushka/shell.rb
|
|
99
|
+
- lib/babushka/version_str.rb
|
|
100
|
+
- lib/babushka/xml_string.rb
|
|
101
|
+
- lib/babushka/accepts_value_for.rb
|
|
102
|
+
- lib/babushka/git_repo.rb
|
|
103
|
+
- lib/babushka/accepts_block_for.rb
|
|
104
|
+
- lib/babushka/dep_definer.rb
|
|
105
|
+
- lib/babushka/ip.rb
|
|
106
|
+
- lib/babushka/dep_context.rb
|
|
107
|
+
- lib/fancypath/fancypath.rb
|
|
108
|
+
- deps/templates/ppa.rb
|
|
109
|
+
- deps/templates/managed.rb
|
|
110
|
+
- deps/templates/installer.rb
|
|
111
|
+
- deps/templates/external.rb
|
|
112
|
+
- deps/templates/src.rb
|
|
113
|
+
- deps/templates/app.rb
|
|
114
|
+
- deps/templates/tmbundle.rb
|
|
115
|
+
- deps/system.rb
|
|
116
|
+
- deps/fhs.rb
|
|
117
|
+
- deps/babushka.rb
|
|
118
|
+
- deps/git.rb
|
|
119
|
+
- deps/os_x.rb
|
|
120
|
+
- deps/rubygems.rb
|
|
121
|
+
- deps/dev.rb
|
|
122
|
+
- deps/pkg_managers.rb
|
|
123
|
+
- deps/ruby.rb
|
|
124
|
+
- deps/packages.rb
|
|
125
|
+
- deps/homebrew.rb
|
|
126
|
+
- README.markdown
|
|
127
|
+
- spec/repos/remote.git.tgz
|
|
128
|
+
- spec/inkan/inkan_spec.rb
|
|
129
|
+
- spec/spec_helper.rb
|
|
130
|
+
- spec/renderable/example.sh
|
|
131
|
+
- spec/renderable/with_binding.conf.erb
|
|
132
|
+
- spec/renderable/different_example.conf.erb
|
|
133
|
+
- spec/renderable/xml_example.conf.erb
|
|
134
|
+
- spec/renderable/example.conf.erb
|
|
135
|
+
- spec/acceptance/acceptance.rb
|
|
136
|
+
- spec/babushka/system_profile_spec.rb
|
|
137
|
+
- spec/babushka/uri_spec.rb
|
|
138
|
+
- spec/babushka/source_support.rb
|
|
139
|
+
- spec/babushka/meta_dep_wrapper_spec.rb
|
|
140
|
+
- spec/babushka/xml_string_spec.rb
|
|
141
|
+
- spec/babushka/accepts_for_spec.rb
|
|
142
|
+
- spec/babushka/accepts_for_support.rb
|
|
143
|
+
- spec/babushka/meta_dep_definer_spec.rb
|
|
144
|
+
- spec/babushka/deps_spec.rb
|
|
145
|
+
- spec/babushka/ip_spec.rb
|
|
146
|
+
- spec/babushka/shell_spec.rb
|
|
147
|
+
- spec/babushka/dep_context_spec.rb
|
|
148
|
+
- spec/babushka/shell_helpers_spec.rb
|
|
149
|
+
- spec/babushka/dep_support.rb
|
|
150
|
+
- spec/babushka/git_repo_spec.rb
|
|
151
|
+
- spec/babushka/dep_spec.rb
|
|
152
|
+
- spec/babushka/renderable_spec.rb
|
|
153
|
+
- spec/babushka/run_helpers_spec.rb
|
|
154
|
+
- spec/babushka/cmdline/help_spec.rb
|
|
155
|
+
- spec/babushka/cmdline/version_spec.rb
|
|
156
|
+
- spec/babushka/cmdline/console_spec.rb
|
|
157
|
+
- spec/babushka/gem_helper_spec.rb
|
|
158
|
+
- spec/babushka/prompt_spec.rb
|
|
159
|
+
- spec/babushka/version_of_spec.rb
|
|
160
|
+
- spec/babushka/resource_spec.rb
|
|
161
|
+
- spec/babushka/lambda_chooser_spec.rb
|
|
162
|
+
- spec/babushka/source_pool_support.rb
|
|
163
|
+
- spec/babushka/version_str_support.rb
|
|
164
|
+
- spec/babushka/dep_definer_support.rb
|
|
165
|
+
- spec/babushka/path_helpers_spec.rb
|
|
166
|
+
- spec/babushka/source_pool_spec.rb
|
|
167
|
+
- spec/babushka/task_spec.rb
|
|
168
|
+
- spec/babushka/parameter_spec.rb
|
|
169
|
+
- spec/babushka/dep_definer_spec.rb
|
|
170
|
+
- spec/babushka/vars_spec.rb
|
|
171
|
+
- spec/babushka/source_spec.rb
|
|
172
|
+
- spec/babushka/core_patches_spec.rb
|
|
173
|
+
- spec/babushka/version_str_spec.rb
|
|
174
|
+
- spec/deps/good/test.rb
|
|
175
|
+
- spec/deps/good/meta.rb
|
|
176
|
+
- spec/deps/outer/more deps.rb
|
|
177
|
+
- spec/deps/outer/deps.rb
|
|
178
|
+
- spec/deps/params/params.rb
|
|
179
|
+
- spec/deps/bad/working.rb
|
|
180
|
+
- spec/deps/bad/broken.rb
|
|
181
|
+
- spec/acceptance_helper.rb
|
|
182
|
+
- spec/fancypath_support.rb
|
|
183
|
+
- spec/fancypath/fancypath_spec.rb
|
|
184
|
+
- spec/archives/content.txt
|
|
185
|
+
- spec/archives/zip_without_extension
|
|
186
|
+
- spec/archives/tgz_archive
|
|
187
|
+
- spec/archives/archive.zip
|
|
188
|
+
- spec/archives/archive.tar.gz
|
|
189
|
+
- spec/archives/Blah.app.zip
|
|
190
|
+
- spec/archives/archive.tbz2
|
|
191
|
+
- spec/archives/nested archive/content.txt
|
|
192
|
+
- spec/archives/test-0.3.1.tgz
|
|
193
|
+
- spec/archives/archive.tar
|
|
194
|
+
- spec/archives/nested_archive.tar
|
|
195
|
+
- spec/archives/archive.tgz
|
|
196
|
+
- spec/archives/archive.tar.bz2
|
|
197
|
+
- spec/archives/really_a_gzip.zip
|
|
198
|
+
- spec/archives/invalid_archive
|
|
199
|
+
- Rakefile
|
|
200
|
+
- Gemfile
|
|
201
|
+
- Gemfile.lock
|
|
202
|
+
- bin/babushka
|
|
203
|
+
homepage: https://github.com/rubycut/babushka
|
|
204
|
+
licenses: []
|
|
205
|
+
|
|
206
|
+
post_install_message:
|
|
207
|
+
rdoc_options: []
|
|
208
|
+
|
|
209
|
+
require_paths:
|
|
210
|
+
- lib
|
|
211
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
212
|
+
none: false
|
|
213
|
+
requirements:
|
|
214
|
+
- - ">="
|
|
215
|
+
- !ruby/object:Gem::Version
|
|
216
|
+
hash: 3
|
|
217
|
+
segments:
|
|
218
|
+
- 0
|
|
219
|
+
version: "0"
|
|
220
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
221
|
+
none: false
|
|
222
|
+
requirements:
|
|
223
|
+
- - ">="
|
|
224
|
+
- !ruby/object:Gem::Version
|
|
225
|
+
hash: 3
|
|
226
|
+
segments:
|
|
227
|
+
- 0
|
|
228
|
+
version: "0"
|
|
229
|
+
requirements: []
|
|
230
|
+
|
|
231
|
+
rubyforge_project:
|
|
232
|
+
rubygems_version: 1.8.11
|
|
233
|
+
signing_key:
|
|
234
|
+
specification_version: 3
|
|
235
|
+
summary: Test-driven sysadmin.
|
|
236
|
+
test_files: []
|
|
237
|
+
|
|
238
|
+
has_rdoc:
|