warningshot 0.9.4
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/CHANGELOG +0 -0
- data/CONTRIBUTORS +2 -0
- data/LICENSE +22 -0
- data/README +101 -0
- data/Rakefile +28 -0
- data/TODO +148 -0
- data/bin/warningshot +19 -0
- data/bin/ws-stage.bat +3 -0
- data/bin/ws-stage.sh +3 -0
- data/images/warning_shot.png +0 -0
- data/images/warning_shot_sml.png +0 -0
- data/images/warningshot_green.png +0 -0
- data/images/warningshot_red.png +0 -0
- data/lib/core_ext/hash.rb +14 -0
- data/lib/core_ext/kernel.rb +8 -0
- data/lib/core_ext/object.rb +7 -0
- data/lib/core_ext/string.rb +5 -0
- data/lib/resolvers/core_lib_resolver.rb +76 -0
- data/lib/resolvers/directory_resolver.rb +31 -0
- data/lib/resolvers/file_resolver.rb +87 -0
- data/lib/resolvers/gem_resolver.rb +94 -0
- data/lib/resolvers/integrity_resolver.rb +69 -0
- data/lib/resolvers/manual_resolver.rb +19 -0
- data/lib/resolvers/permission_resolver.rb +72 -0
- data/lib/resolvers/symlink_resolver.rb +43 -0
- data/lib/resolvers/url_resolver.rb +76 -0
- data/lib/warning_shot/config.rb +132 -0
- data/lib/warning_shot/dependency_resolver.rb +155 -0
- data/lib/warning_shot/growl.rb +14 -0
- data/lib/warning_shot/logger.rb +27 -0
- data/lib/warning_shot/resolver.rb +542 -0
- data/lib/warning_shot/template_generator.rb +28 -0
- data/lib/warning_shot/version.rb +7 -0
- data/lib/warning_shot/warning_shot.rb +130 -0
- data/lib/warningshot.rb +16 -0
- data/tasks/gemspec.rb +48 -0
- data/tasks/rpsec.rb +58 -0
- data/tasks/yard.rb +4 -0
- data/templates/binaries.yml +26 -0
- data/templates/core_libs.yml +18 -0
- data/templates/directories.yml +23 -0
- data/templates/files.yml +18 -0
- data/templates/gems.yml +26 -0
- data/templates/manual.yml +29 -0
- data/templates/mounts.yml +8 -0
- data/templates/permissions.yml +31 -0
- data/templates/symlinks.yml +30 -0
- data/templates/urls.yml +21 -0
- data/test/data/mock.yaml +16 -0
- data/test/data/mock.yml +10 -0
- data/test/data/mock_resolver.rb +16 -0
- data/test/data/permission_test.txt +1 -0
- data/test/data/resolvers/file/src/that.txt +1 -0
- data/test/log/warningshot.log +643 -0
- data/test/spec/spec.opts.zoiks +0 -0
- data/test/spec/spec_helper.rb +11 -0
- data/test/spec/unit/resolvers/core_lib_resolver_spec.rb +39 -0
- data/test/spec/unit/resolvers/directory_resolver_spec.rb +39 -0
- data/test/spec/unit/resolvers/file_resolver_spec.rb +134 -0
- data/test/spec/unit/resolvers/gem_resolver_spec.rb +74 -0
- data/test/spec/unit/resolvers/integrity_resolver_spec.rb +103 -0
- data/test/spec/unit/resolvers/manual_resolver_spec.rb +17 -0
- data/test/spec/unit/resolvers/permission_resolver_spec.rb +56 -0
- data/test/spec/unit/resolvers/symlink_resolver_spec.rb +44 -0
- data/test/spec/unit/resolvers/url_resolver_spec.rb +64 -0
- data/test/spec/unit/warning_shot/config_spec.rb +35 -0
- data/test/spec/unit/warning_shot/dependency_resolver_spec.rb +43 -0
- data/test/spec/unit/warning_shot/resolver_spec.rb +347 -0
- data/test/spec/unit/warning_shot/template_generator_spec.rb +21 -0
- data/test/spec/unit/warning_shot/version_spec.rb +7 -0
- data/test/spec/unit/warning_shot/warning_shot_spec.rb +3 -0
- metadata +143 -0
@@ -0,0 +1,347 @@
|
|
1
|
+
require $test_data / 'mock_resolver'
|
2
|
+
|
3
|
+
describe WarningShot::Resolver do
|
4
|
+
it 'should provide a base set of resolvers' do
|
5
|
+
WarningShot::Resolver.descendents.class.should be(Array)
|
6
|
+
WarningShot::Resolver.descendents.empty?.should be(false)
|
7
|
+
end
|
8
|
+
|
9
|
+
it 'should allow a resolver to set a order' do
|
10
|
+
MockResolver.order 500
|
11
|
+
MockResolver.order.should be(500)
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'should allow a resolver to be disabled' do
|
15
|
+
MockResolver.disable!
|
16
|
+
MockResolver.disabled?.should be(true)
|
17
|
+
MockResolver.instance_variable_set('@disabled',false)
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'should allow a resolution branch to be set' do
|
21
|
+
MockResolver.branch :a_test_branch
|
22
|
+
MockResolver.branch.should == :a_test_branch
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'should allow a description to be set' do
|
26
|
+
MockResolver.description "An awesome mock resolver"
|
27
|
+
MockResolver.description.should == "An awesome mock resolver"
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'should allow the CLI to be extended' do
|
31
|
+
MockResolver.cli(
|
32
|
+
:short => "-t",
|
33
|
+
:long => "--test=STRING",
|
34
|
+
:description => "Test extending the CLI",
|
35
|
+
:default => 'whatever',
|
36
|
+
:name => 'rspec_test',
|
37
|
+
:type => String,
|
38
|
+
:default_desc => "Default: whatever"
|
39
|
+
)
|
40
|
+
|
41
|
+
WarningShot.parser.to_s.include?("Test extending the CLI").should be(true)
|
42
|
+
end
|
43
|
+
|
44
|
+
it 'should be able to cast YAML data to an Object the resolver can work with' do
|
45
|
+
MockDependency = Struct.new :more, :less
|
46
|
+
|
47
|
+
MockResolver.cast do |dep|
|
48
|
+
MockDependency.new dep[:more], dep[:less]
|
49
|
+
end
|
50
|
+
|
51
|
+
yaml_hash = {:more => 'is less', :less => 'is more'}
|
52
|
+
my_obj = MockResolver.yaml_to_object(yaml_hash)
|
53
|
+
my_obj.class.should be(MockDependency)
|
54
|
+
my_obj.more.should == (yaml_hash[:more])
|
55
|
+
end
|
56
|
+
|
57
|
+
it 'should be able to register a test' do
|
58
|
+
MockResolver.register :test do |dependency|
|
59
|
+
"This is a dependency test #{dependency}"
|
60
|
+
end
|
61
|
+
|
62
|
+
MockResolver.tests.first[:test].call("TEST").should == "This is a dependency test TEST"
|
63
|
+
MockResolver.flush_tests!
|
64
|
+
|
65
|
+
MockResolver.register :test do
|
66
|
+
"This is a test"
|
67
|
+
end
|
68
|
+
|
69
|
+
MockResolver.tests.first[:test].call("TEST").should == "This is a test"
|
70
|
+
end
|
71
|
+
|
72
|
+
it 'should allow a resolver to flush out tests' do
|
73
|
+
MockResolver.register :test do |dependency|
|
74
|
+
'This is a dependency test'
|
75
|
+
end
|
76
|
+
|
77
|
+
MockResolver.tests.empty?.should be(false)
|
78
|
+
MockResolver.flush_tests!
|
79
|
+
MockResolver.tests.empty?.should be(true)
|
80
|
+
end
|
81
|
+
|
82
|
+
it 'should be able to register a conditional test' do
|
83
|
+
is_test_env = lambda{ |dependency|
|
84
|
+
WarningShot.environment == 'test'
|
85
|
+
}
|
86
|
+
MockResolver.flush_tests!
|
87
|
+
MockResolver.register :test, :if => is_test_env do |dependency|
|
88
|
+
'This is a conditional dependency test'
|
89
|
+
end
|
90
|
+
|
91
|
+
MockResolver.tests.first[:test].call(nil).should == 'This is a conditional dependency test'
|
92
|
+
MockResolver.tests.first[:if].class.should be(Proc)
|
93
|
+
end
|
94
|
+
|
95
|
+
it 'should be able to specify additional attributes for a test' do
|
96
|
+
test_details = {
|
97
|
+
:name => :named_test,
|
98
|
+
:desc => "This is a named test",
|
99
|
+
}
|
100
|
+
|
101
|
+
MockResolver.flush_tests!
|
102
|
+
MockResolver.register :test, test_details do |dependency|
|
103
|
+
'This is a named test'
|
104
|
+
end
|
105
|
+
|
106
|
+
(MockResolver.tests.first[:name]== :named_test).should be(true)
|
107
|
+
MockResolver.tests.first[:desc].should == test_details[:desc]
|
108
|
+
end
|
109
|
+
|
110
|
+
it 'should be able to register multiple tests' do
|
111
|
+
MockResolver.flush_tests!
|
112
|
+
MockResolver.register :test do
|
113
|
+
'Pass one'
|
114
|
+
end
|
115
|
+
MockResolver.register :test do
|
116
|
+
'Pass two'
|
117
|
+
end
|
118
|
+
|
119
|
+
MockResolver.tests.length.should be(2)
|
120
|
+
MockResolver.tests.last[:test].call(nil).should == 'Pass two'
|
121
|
+
end
|
122
|
+
|
123
|
+
it 'should be able to register a resolution' do
|
124
|
+
MockResolver.register :resolution do |dependency|
|
125
|
+
"I resolved the issue, #{dependency}."
|
126
|
+
end
|
127
|
+
|
128
|
+
MockResolver.resolutions.first[:resolution].call('sirs').should == "I resolved the issue, sirs."
|
129
|
+
|
130
|
+
MockResolver.flush_resolutions!
|
131
|
+
|
132
|
+
MockResolver.register :resolution do
|
133
|
+
"This is a resolution"
|
134
|
+
end
|
135
|
+
|
136
|
+
MockResolver.resolutions.first[:resolution].call(nil).should == "This is a resolution"
|
137
|
+
end
|
138
|
+
|
139
|
+
it 'should raise an exception if :if and :unless are specified on the same test or resolution' do
|
140
|
+
lambda{
|
141
|
+
MockResolver.register :resolution, :if => lambda{}, :unless => lambda{} do
|
142
|
+
puts 'This should fail'
|
143
|
+
end
|
144
|
+
}.should raise_error(Exception)
|
145
|
+
|
146
|
+
lambda{
|
147
|
+
MockResolver.register :test, :if => lambda{}, :unless => lambda{} do
|
148
|
+
puts 'This should fail'
|
149
|
+
end
|
150
|
+
}.should raise_error(Exception)
|
151
|
+
end
|
152
|
+
|
153
|
+
it 'should allow a resolver to flush out resolutions' do
|
154
|
+
MockResolver.register :resolution do |dependency|
|
155
|
+
'This is a dependency resolution'
|
156
|
+
end
|
157
|
+
|
158
|
+
MockResolver.resolutions.empty?.should be(false)
|
159
|
+
MockResolver.flush_resolutions!
|
160
|
+
MockResolver.resolutions.empty?.should be(true)
|
161
|
+
end
|
162
|
+
|
163
|
+
it 'should be able to register a conditional resolution' do
|
164
|
+
is_test_env = lambda{ |dependency|
|
165
|
+
WarningShot.environment == 'production'
|
166
|
+
}
|
167
|
+
MockResolver.flush_resolutions!
|
168
|
+
MockResolver.register :resolution, :if => is_test_env do |dependency|
|
169
|
+
"id only resolve if this was production"
|
170
|
+
end
|
171
|
+
|
172
|
+
MockResolver.resolutions.first[:resolution].call(nil).should == "id only resolve if this was production"
|
173
|
+
MockResolver.resolutions.first[:if].class.should be(Proc)
|
174
|
+
end
|
175
|
+
|
176
|
+
it 'should be able to specify additional attributes for a resolution' do
|
177
|
+
res_details = {
|
178
|
+
:name => :named_resolution,
|
179
|
+
:desc => "This is a named resolution",
|
180
|
+
}
|
181
|
+
|
182
|
+
MockResolver.flush_resolutions!
|
183
|
+
MockResolver.register :resolution, res_details do |dependency|
|
184
|
+
'This is a named resolution'
|
185
|
+
end
|
186
|
+
|
187
|
+
(MockResolver.resolutions.first[:name]== :named_resolution).should be(true)
|
188
|
+
MockResolver.resolutions.first[:desc].should == res_details[:desc]
|
189
|
+
end
|
190
|
+
|
191
|
+
it 'should be able to register multiple resolutions' do
|
192
|
+
MockResolver.flush_resolutions!
|
193
|
+
MockResolver.register :resolution do
|
194
|
+
'Part one of fix'
|
195
|
+
end
|
196
|
+
MockResolver.register :resolution do
|
197
|
+
'Part two of fix'
|
198
|
+
end
|
199
|
+
|
200
|
+
MockResolver.resolutions.length.should be(2)
|
201
|
+
MockResolver.resolutions.last[:resolution].call(nil).should == 'Part two of fix'
|
202
|
+
end
|
203
|
+
|
204
|
+
it 'should allow before filters for tests' do
|
205
|
+
MockResolver.before :test do
|
206
|
+
puts "Im before a test"
|
207
|
+
end
|
208
|
+
|
209
|
+
MockResolver.before_filters(:test).length.should be(1)
|
210
|
+
end
|
211
|
+
|
212
|
+
it 'should allow after filters for tests' do
|
213
|
+
MockResolver.after :test do
|
214
|
+
puts "Im after a test"
|
215
|
+
end
|
216
|
+
|
217
|
+
MockResolver.after_filters(:test).length.should be(1)
|
218
|
+
end
|
219
|
+
|
220
|
+
it 'should allow before filters for resolutions' do
|
221
|
+
MockResolver.before :resolution do
|
222
|
+
puts "Im before a resolution"
|
223
|
+
end
|
224
|
+
|
225
|
+
MockResolver.before_filters(:resolution).length.should be(1)
|
226
|
+
end
|
227
|
+
|
228
|
+
it 'should allow after filters for resolutions' do
|
229
|
+
MockResolver.after :resolution do
|
230
|
+
puts "Im after a resolution"
|
231
|
+
end
|
232
|
+
|
233
|
+
MockResolver.after_filters(:resolution).length.should be(1)
|
234
|
+
end
|
235
|
+
|
236
|
+
it 'should be able to specify an :if condition on tests' do
|
237
|
+
#This is false, wtf? Fuck string comparison.
|
238
|
+
condition = lambda{ ("david lee roth" > "eddie van halen") }
|
239
|
+
MockResolver.register(:test, :if => condition, :name => :rock_out_test) {|dep| true}
|
240
|
+
|
241
|
+
MockResolver.tests(:rock_out_test)[:if].call.should be(false)
|
242
|
+
end
|
243
|
+
|
244
|
+
it 'should be able to specify an :unless condition on tests' do
|
245
|
+
# String comparison has no taste in music
|
246
|
+
condition = lambda{ ("weezer" > "the rentals") }
|
247
|
+
MockResolver.register(:test, :unless => condition, :name => :rock_out_test2) {|dep| true}
|
248
|
+
|
249
|
+
MockResolver.tests(:rock_out_test2)[:unless].call.should be(true)
|
250
|
+
end
|
251
|
+
|
252
|
+
it 'should be able to specify an :if condition on resolutions' do
|
253
|
+
condition = lambda{ (3 > 5) }
|
254
|
+
MockResolver.register(:resolution, :if => condition, :name => :number_resolution) {|dep| true}
|
255
|
+
|
256
|
+
MockResolver.resolutions(:number_resolution)[:if].call.should be(false)
|
257
|
+
end
|
258
|
+
|
259
|
+
it 'should be able to specify an :unless condition on resolutions' do
|
260
|
+
condition = lambda{ (5 == 5) }
|
261
|
+
MockResolver.register(:resolution, :unless => condition, :name => :number_resolution1) {|dep| true}
|
262
|
+
|
263
|
+
MockResolver.resolutions(:number_resolution1)[:unless].call.should be(true)
|
264
|
+
end
|
265
|
+
|
266
|
+
it 'should increment #passed if the test passed' do
|
267
|
+
pending
|
268
|
+
end
|
269
|
+
|
270
|
+
it 'should increment #failed if the test failed' do
|
271
|
+
pending
|
272
|
+
end
|
273
|
+
|
274
|
+
it 'should increment #resolved if the resolution passed' do
|
275
|
+
pending
|
276
|
+
end
|
277
|
+
|
278
|
+
it 'should increment #unresolved if the resolution was unresolved' do
|
279
|
+
pending
|
280
|
+
end
|
281
|
+
|
282
|
+
it 'should be able to determine if a test passed' do
|
283
|
+
MockResolver.flush_tests!
|
284
|
+
MockResolver.flush_resolutions!
|
285
|
+
|
286
|
+
test_meta = {
|
287
|
+
:name => :process_block_test,
|
288
|
+
:test => lambda {|dep| dep[:fav_color] == :blue}
|
289
|
+
}
|
290
|
+
|
291
|
+
dep = {:fav_color => :blue}
|
292
|
+
|
293
|
+
MockResolver.new.send(:process_block, :test, dep, test_meta).should be(true)
|
294
|
+
end
|
295
|
+
|
296
|
+
it 'should be able to determine if a test failed' do
|
297
|
+
MockResolver.flush_tests!
|
298
|
+
MockResolver.flush_resolutions!
|
299
|
+
|
300
|
+
test_meta = {
|
301
|
+
:name => :process_block_test,
|
302
|
+
:test => lambda {|dep| dep[:fav_color] == :blue}
|
303
|
+
}
|
304
|
+
|
305
|
+
dep = {:fav_color => :red}
|
306
|
+
|
307
|
+
MockResolver.new.send(:process_block, :test, dep, test_meta).should be(false)
|
308
|
+
end
|
309
|
+
|
310
|
+
it 'should be able to determine if a resolution passed' do
|
311
|
+
MockResolver.flush_tests!
|
312
|
+
MockResolver.flush_resolutions!
|
313
|
+
|
314
|
+
resolution_meta = {
|
315
|
+
:name => :process_block_test,
|
316
|
+
:resolution => lambda {|dep|
|
317
|
+
dep[:fav_color] = :blue
|
318
|
+
dep[:fav_color] == :blue
|
319
|
+
}
|
320
|
+
}
|
321
|
+
|
322
|
+
dep = {:fav_color => :red}
|
323
|
+
|
324
|
+
MockResolver.new.send(:process_block, :resolution, dep, resolution_meta).should be(true)
|
325
|
+
end
|
326
|
+
|
327
|
+
it 'should be able to determine if a resolution failed' do
|
328
|
+
MockResolver.flush_tests!
|
329
|
+
MockResolver.flush_resolutions!
|
330
|
+
|
331
|
+
resolution_meta = {
|
332
|
+
:name => :process_block_test,
|
333
|
+
:resolution => lambda {|dep|
|
334
|
+
begin
|
335
|
+
dep[:fav_color] = :blue
|
336
|
+
rescue Exception
|
337
|
+
# nada
|
338
|
+
end
|
339
|
+
dep[:fav_color] == :blue
|
340
|
+
}
|
341
|
+
}
|
342
|
+
|
343
|
+
dep = {:fav_color => :red}.freeze
|
344
|
+
|
345
|
+
MockResolver.new.send(:process_block, :resolution, dep, resolution_meta).should be(false)
|
346
|
+
end
|
347
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
describe WarningShot::TemplateGenerator do
|
2
|
+
|
3
|
+
before :all do
|
4
|
+
@test_path = $test_data / 'yaml_configs'
|
5
|
+
end
|
6
|
+
|
7
|
+
after :all do
|
8
|
+
FileUtils.rm_rf @test_path
|
9
|
+
end
|
10
|
+
|
11
|
+
it "should be able to generate templates" do
|
12
|
+
WarningShot::TemplateGenerator.respond_to?(:create).should be(true)
|
13
|
+
WarningShot::TemplateGenerator.create(@test_path)
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should have generate YAML config files" do
|
17
|
+
yaml_files = Dir[@test_path / WarningShot::ConfigExt]
|
18
|
+
yaml_files.empty?.should be(false)
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
metadata
ADDED
@@ -0,0 +1,143 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: warningshot
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.9.4
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Cory ODaniel
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2008-10-15 00:00:00 -07:00
|
13
|
+
default_executable: warningshot
|
14
|
+
dependencies: []
|
15
|
+
|
16
|
+
description: WarningShot Dependency Resolution Framework.
|
17
|
+
email: warningshot@coryodaniel.com.com
|
18
|
+
executables:
|
19
|
+
- warningshot
|
20
|
+
extensions: []
|
21
|
+
|
22
|
+
extra_rdoc_files:
|
23
|
+
- README
|
24
|
+
- LICENSE
|
25
|
+
- TODO
|
26
|
+
files:
|
27
|
+
- LICENSE
|
28
|
+
- README
|
29
|
+
- Rakefile
|
30
|
+
- TODO
|
31
|
+
- CHANGELOG
|
32
|
+
- CONTRIBUTORS
|
33
|
+
- bin/warningshot
|
34
|
+
- bin/ws-stage.bat
|
35
|
+
- bin/ws-stage.sh
|
36
|
+
- test/data
|
37
|
+
- test/data/mock.yaml
|
38
|
+
- test/data/mock.yml
|
39
|
+
- test/data/mock_resolver.rb
|
40
|
+
- test/data/permission_test.txt
|
41
|
+
- test/data/resolvers
|
42
|
+
- test/data/resolvers/file
|
43
|
+
- test/data/resolvers/file/src
|
44
|
+
- test/data/resolvers/file/src/that.txt
|
45
|
+
- test/log
|
46
|
+
- test/log/warningshot.log
|
47
|
+
- test/output
|
48
|
+
- test/spec
|
49
|
+
- test/spec/integration
|
50
|
+
- test/spec/integration/core_ext
|
51
|
+
- test/spec/integration/resolvers
|
52
|
+
- test/spec/integration/warning_shot
|
53
|
+
- test/spec/spec.opts.zoiks
|
54
|
+
- test/spec/spec_helper.rb
|
55
|
+
- test/spec/unit
|
56
|
+
- test/spec/unit/core_ext
|
57
|
+
- test/spec/unit/resolvers
|
58
|
+
- test/spec/unit/resolvers/core_lib_resolver_spec.rb
|
59
|
+
- test/spec/unit/resolvers/directory_resolver_spec.rb
|
60
|
+
- test/spec/unit/resolvers/file_resolver_spec.rb
|
61
|
+
- test/spec/unit/resolvers/gem_resolver_spec.rb
|
62
|
+
- test/spec/unit/resolvers/integrity_resolver_spec.rb
|
63
|
+
- test/spec/unit/resolvers/manual_resolver_spec.rb
|
64
|
+
- test/spec/unit/resolvers/permission_resolver_spec.rb
|
65
|
+
- test/spec/unit/resolvers/symlink_resolver_spec.rb
|
66
|
+
- test/spec/unit/resolvers/url_resolver_spec.rb
|
67
|
+
- test/spec/unit/warning_shot
|
68
|
+
- test/spec/unit/warning_shot/config_spec.rb
|
69
|
+
- test/spec/unit/warning_shot/dependency_resolver_spec.rb
|
70
|
+
- test/spec/unit/warning_shot/resolver_spec.rb
|
71
|
+
- test/spec/unit/warning_shot/template_generator_spec.rb
|
72
|
+
- test/spec/unit/warning_shot/version_spec.rb
|
73
|
+
- test/spec/unit/warning_shot/warning_shot_spec.rb
|
74
|
+
- lib/core_ext
|
75
|
+
- lib/core_ext/hash.rb
|
76
|
+
- lib/core_ext/kernel.rb
|
77
|
+
- lib/core_ext/object.rb
|
78
|
+
- lib/core_ext/string.rb
|
79
|
+
- lib/resolvers
|
80
|
+
- lib/resolvers/core_lib_resolver.rb
|
81
|
+
- lib/resolvers/directory_resolver.rb
|
82
|
+
- lib/resolvers/file_resolver.rb
|
83
|
+
- lib/resolvers/gem_resolver.rb
|
84
|
+
- lib/resolvers/integrity_resolver.rb
|
85
|
+
- lib/resolvers/manual_resolver.rb
|
86
|
+
- lib/resolvers/permission_resolver.rb
|
87
|
+
- lib/resolvers/symlink_resolver.rb
|
88
|
+
- lib/resolvers/url_resolver.rb
|
89
|
+
- lib/warning_shot
|
90
|
+
- lib/warning_shot/config.rb
|
91
|
+
- lib/warning_shot/dependency_resolver.rb
|
92
|
+
- lib/warning_shot/growl.rb
|
93
|
+
- lib/warning_shot/logger.rb
|
94
|
+
- lib/warning_shot/resolver.rb
|
95
|
+
- lib/warning_shot/template_generator.rb
|
96
|
+
- lib/warning_shot/version.rb
|
97
|
+
- lib/warning_shot/warning_shot.rb
|
98
|
+
- lib/warningshot.rb
|
99
|
+
- tasks/gemspec.rb
|
100
|
+
- tasks/rpsec.rb
|
101
|
+
- tasks/yard.rb
|
102
|
+
- templates/binaries.yml
|
103
|
+
- templates/core_libs.yml
|
104
|
+
- templates/directories.yml
|
105
|
+
- templates/files.yml
|
106
|
+
- templates/gems.yml
|
107
|
+
- templates/manual.yml
|
108
|
+
- templates/mounts.yml
|
109
|
+
- templates/permissions.yml
|
110
|
+
- templates/symlinks.yml
|
111
|
+
- templates/urls.yml
|
112
|
+
- images/warning_shot.png
|
113
|
+
- images/warning_shot_sml.png
|
114
|
+
- images/warningshot_green.png
|
115
|
+
- images/warningshot_red.png
|
116
|
+
has_rdoc: true
|
117
|
+
homepage: http://warningshot.lighthouseapp.com
|
118
|
+
post_install_message:
|
119
|
+
rdoc_options: []
|
120
|
+
|
121
|
+
require_paths:
|
122
|
+
- lib
|
123
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
124
|
+
requirements:
|
125
|
+
- - ">="
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: 1.8.6
|
128
|
+
version:
|
129
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
130
|
+
requirements:
|
131
|
+
- - ">="
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: "0"
|
134
|
+
version:
|
135
|
+
requirements: []
|
136
|
+
|
137
|
+
rubyforge_project:
|
138
|
+
rubygems_version: 1.2.0
|
139
|
+
signing_key:
|
140
|
+
specification_version: 2
|
141
|
+
summary: WarningShot Dependency Resolution Framework.
|
142
|
+
test_files: []
|
143
|
+
|