warningshot 0.9.4 → 0.9.5
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +8 -0
- data/CONTRIBUTORS +2 -1
- data/README +86 -6
- data/Rakefile +4 -3
- data/TODO +1 -147
- data/bin/warningshot +11 -7
- data/lib/resolvers/core_lib_resolver.rb +2 -3
- data/lib/resolvers/directory_resolver.rb +1 -1
- data/lib/resolvers/file_resolver.rb +35 -17
- data/lib/resolvers/gem_resolver.rb +81 -60
- data/lib/resolvers/integrity_resolver.rb +10 -11
- data/lib/resolvers/manual_resolver.rb +15 -3
- data/lib/resolvers/permission_resolver.rb +6 -8
- data/lib/resolvers/symlink_resolver.rb +13 -8
- data/lib/resolvers/url_resolver.rb +28 -41
- data/lib/warningshot.rb +10 -7
- data/lib/warningshot/config.rb +254 -0
- data/lib/{warning_shot → warningshot}/dependency_resolver.rb +38 -17
- data/lib/{warning_shot → warningshot}/growl.rb +2 -0
- data/lib/{warning_shot → warningshot}/logger.rb +2 -0
- data/lib/{warning_shot → warningshot}/resolver.rb +177 -89
- data/lib/warningshot/suite.rb +4 -0
- data/lib/{warning_shot → warningshot}/template_generator.rb +4 -1
- data/lib/{warning_shot → warningshot}/version.rb +3 -1
- data/lib/warningshot/warning_shot.rb +187 -0
- data/tasks/gemspec.rb +3 -16
- data/tasks/yard.rb +1 -1
- data/templates/gems.yml +1 -0
- data/test/data/faux_test.yml +5 -0
- data/test/data/faux_test_resolver.rb +21 -0
- data/test/data/mock_resolver.rb +11 -5
- data/test/log/warningshot.log +3051 -532
- data/test/spec/unit/resolvers/core_lib_resolver_spec.rb +1 -1
- data/test/spec/unit/resolvers/directory_resolver_spec.rb +1 -1
- data/test/spec/unit/resolvers/file_resolver_spec.rb +9 -13
- data/test/spec/unit/resolvers/gem_resolver_spec.rb +108 -32
- data/test/spec/unit/resolvers/integrity_resolver_spec.rb +6 -6
- data/test/spec/unit/resolvers/permission_resolver_spec.rb +2 -2
- data/test/spec/unit/resolvers/symlink_resolver_spec.rb +8 -1
- data/test/spec/unit/resolvers/url_resolver_spec.rb +10 -10
- data/test/spec/unit/warningshot/config_spec.rb +57 -0
- data/test/spec/unit/{warning_shot → warningshot}/dependency_resolver_spec.rb +18 -9
- data/test/spec/unit/{warning_shot → warningshot}/resolver_spec.rb +54 -79
- data/test/spec/unit/{warning_shot → warningshot}/template_generator_spec.rb +1 -1
- data/test/spec/unit/{warning_shot → warningshot}/version_spec.rb +0 -0
- data/test/spec/unit/{warning_shot → warningshot}/warning_shot_spec.rb +0 -0
- metadata +24 -26
- data/lib/warning_shot/config.rb +0 -132
- data/lib/warning_shot/warning_shot.rb +0 -130
- data/test/spec/spec.opts.zoiks +0 -0
- data/test/spec/unit/warning_shot/config_spec.rb +0 -35
@@ -1,10 +1,10 @@
|
|
1
1
|
describe WarningShot::DependencyResolver do
|
2
2
|
before :all do
|
3
|
-
@config = {
|
3
|
+
@config = WarningShot::Config.create({
|
4
4
|
:config_paths => [$test_data],
|
5
5
|
:environment => 'rspec',
|
6
6
|
:log_path => $log_file
|
7
|
-
}
|
7
|
+
})
|
8
8
|
|
9
9
|
end
|
10
10
|
|
@@ -13,13 +13,7 @@ describe WarningShot::DependencyResolver do
|
|
13
13
|
pending
|
14
14
|
end
|
15
15
|
|
16
|
-
it 'should create a dependency tree from a set of config files' do
|
17
|
-
@config = {
|
18
|
-
:config_paths => [$test_data],
|
19
|
-
:environment => 'rspec',
|
20
|
-
:log_path => $log_file
|
21
|
-
}
|
22
|
-
|
16
|
+
it 'should create a dependency tree from a set of config files' do
|
23
17
|
dr = WarningShot::DependencyResolver.new(@config)
|
24
18
|
|
25
19
|
dr.dependency_tree[:mock].empty?.should be(false)
|
@@ -36,7 +30,22 @@ describe WarningShot::DependencyResolver do
|
|
36
30
|
dr.stats.class.should be(Hash)
|
37
31
|
end
|
38
32
|
|
33
|
+
it 'should ignore resolvers that dont have dependencies registered' do
|
34
|
+
pending
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'should ignore disabled resolvers' do
|
38
|
+
pending
|
39
|
+
end
|
40
|
+
|
39
41
|
it 'should be able to run a set of resolvers' do
|
42
|
+
config = WarningShot::Config.create({
|
43
|
+
:config_paths => [$test_data],
|
44
|
+
:environment => 'rspec',
|
45
|
+
:log_path => $log_file,
|
46
|
+
:oload => :faux_test
|
47
|
+
})
|
48
|
+
|
40
49
|
pending
|
41
50
|
end
|
42
51
|
|
@@ -1,9 +1,10 @@
|
|
1
|
+
require WarningShot.root / 'lib' / 'warningshot' / 'suite'
|
1
2
|
require $test_data / 'mock_resolver'
|
2
3
|
|
3
4
|
describe WarningShot::Resolver do
|
4
5
|
it 'should provide a base set of resolvers' do
|
5
|
-
WarningShot::Resolver.
|
6
|
-
WarningShot::Resolver.
|
6
|
+
WarningShot::Resolver.descendants.class.should be(Array)
|
7
|
+
WarningShot::Resolver.descendants.empty?.should be(false)
|
7
8
|
end
|
8
9
|
|
9
10
|
it 'should allow a resolver to set a order' do
|
@@ -26,25 +27,31 @@ describe WarningShot::Resolver do
|
|
26
27
|
MockResolver.description "An awesome mock resolver"
|
27
28
|
MockResolver.description.should == "An awesome mock resolver"
|
28
29
|
end
|
30
|
+
|
31
|
+
it 'should provide Resolver#add_dependency' do
|
32
|
+
pending
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'should disabled specified resolvers based on #add_dependency' do
|
36
|
+
pending
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'should disabled specified test & resolvers based on #add_dependency' do
|
40
|
+
pending
|
41
|
+
end
|
29
42
|
|
30
43
|
it 'should allow the CLI to be extended' do
|
31
|
-
MockResolver.cli(
|
32
|
-
:
|
33
|
-
|
34
|
-
:description => "Test extending the CLI",
|
35
|
-
:default => 'whatever',
|
36
|
-
:name => 'rspec_test',
|
37
|
-
:type => String,
|
38
|
-
:default_desc => "Default: whatever"
|
39
|
-
)
|
44
|
+
MockResolver.cli("-t", "--test=STRING", "Test extending the CLI") do |val|
|
45
|
+
options[:rspec_test] = val
|
46
|
+
end
|
40
47
|
|
41
|
-
WarningShot.
|
48
|
+
WarningShot::Config::PARSER.to_s.include?("Test extending the CLI").should be(true)
|
42
49
|
end
|
43
50
|
|
44
51
|
it 'should be able to cast YAML data to an Object the resolver can work with' do
|
45
52
|
MockDependency = Struct.new :more, :less
|
46
53
|
|
47
|
-
MockResolver.
|
54
|
+
MockResolver.typecast do |dep|
|
48
55
|
MockDependency.new dep[:more], dep[:less]
|
49
56
|
end
|
50
57
|
|
@@ -81,7 +88,7 @@ describe WarningShot::Resolver do
|
|
81
88
|
|
82
89
|
it 'should be able to register a conditional test' do
|
83
90
|
is_test_env = lambda{ |dependency|
|
84
|
-
WarningShot.environment == 'test'
|
91
|
+
WarningShot::Config.create()[:environment] == 'test'
|
85
92
|
}
|
86
93
|
MockResolver.flush_tests!
|
87
94
|
MockResolver.register :test, :if => is_test_env do |dependency|
|
@@ -162,7 +169,7 @@ describe WarningShot::Resolver do
|
|
162
169
|
|
163
170
|
it 'should be able to register a conditional resolution' do
|
164
171
|
is_test_env = lambda{ |dependency|
|
165
|
-
WarningShot.environment == 'production'
|
172
|
+
WarningShot::Config.create()[:environment] == 'production'
|
166
173
|
}
|
167
174
|
MockResolver.flush_resolutions!
|
168
175
|
MockResolver.register :resolution, :if => is_test_env do |dependency|
|
@@ -263,85 +270,53 @@ describe WarningShot::Resolver do
|
|
263
270
|
MockResolver.resolutions(:number_resolution1)[:unless].call.should be(true)
|
264
271
|
end
|
265
272
|
|
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
273
|
it 'should be able to determine if a test passed' do
|
283
|
-
MockResolver.
|
284
|
-
MockResolver.
|
285
|
-
|
286
|
-
test_meta = {
|
287
|
-
:name => :process_block_test,
|
288
|
-
:test => lambda {|dep| dep[:fav_color] == :blue}
|
289
|
-
}
|
290
|
-
|
291
|
-
dep = {:fav_color => :blue}
|
274
|
+
MockResolver.flush!
|
275
|
+
MockResolver.register(:test,:name=>:fav_color_test) {|dep| dep.value == 'blue'}
|
292
276
|
|
293
|
-
MockResolver.new.
|
277
|
+
mock_resolver = MockResolver.new(WarningShot::Config.create,'blue')
|
278
|
+
mock_resolver.test!
|
279
|
+
mock_resolver.passed.length.should be(1)
|
294
280
|
end
|
295
281
|
|
296
282
|
it 'should be able to determine if a test failed' do
|
297
|
-
MockResolver.
|
298
|
-
MockResolver.
|
283
|
+
MockResolver.flush!
|
284
|
+
MockResolver.register(:test,:name=>:fav_color_test) {|dep| dep.value == 'blue'}
|
299
285
|
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
}
|
304
|
-
|
305
|
-
dep = {:fav_color => :red}
|
306
|
-
|
307
|
-
MockResolver.new.send(:process_block, :test, dep, test_meta).should be(false)
|
286
|
+
mock_resolver = MockResolver.new(WarningShot::Config.create,'red')
|
287
|
+
mock_resolver.test!
|
288
|
+
mock_resolver.failed.length.should be(1)
|
308
289
|
end
|
309
290
|
|
310
291
|
it 'should be able to determine if a resolution passed' do
|
311
|
-
MockResolver.
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
:resolution => lambda {|dep|
|
317
|
-
dep[:fav_color] = :blue
|
318
|
-
dep[:fav_color] == :blue
|
319
|
-
}
|
292
|
+
MockResolver.flush!
|
293
|
+
|
294
|
+
MockResolver.register(:resolution,:name => :det_res_passed){ |dep|
|
295
|
+
dep.value = :blue
|
296
|
+
dep.value == :blue
|
320
297
|
}
|
321
298
|
|
322
|
-
|
323
|
-
|
324
|
-
|
299
|
+
mock_resolver = MockResolver.new(WarningShot::Config.create,'red')
|
300
|
+
mock_resolver.test!
|
301
|
+
mock_resolver.resolve!
|
302
|
+
mock_resolver.resolved.length.should be(1)
|
325
303
|
end
|
326
304
|
|
327
305
|
it 'should be able to determine if a resolution failed' do
|
328
|
-
MockResolver.
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
:resolution => lambda {|dep|
|
334
|
-
begin
|
335
|
-
dep[:fav_color] = :blue
|
336
|
-
rescue Exception
|
337
|
-
# nada
|
338
|
-
end
|
339
|
-
dep[:fav_color] == :blue
|
340
|
-
}
|
306
|
+
MockResolver.flush!
|
307
|
+
|
308
|
+
|
309
|
+
MockResolver.register(:resolution,:name => :det_res_failed){ |dep|
|
310
|
+
dep.value == :blue
|
341
311
|
}
|
342
312
|
|
343
|
-
|
344
|
-
|
345
|
-
|
313
|
+
mock_resolver = MockResolver.new(WarningShot::Config.create,'red')
|
314
|
+
mock_resolver.test!
|
315
|
+
mock_resolver.resolve!
|
316
|
+
mock_resolver.unresolved.length.should be(1)
|
317
|
+
end
|
318
|
+
|
319
|
+
it 'should not try to resolve a dependency if it has passed' do
|
320
|
+
pending
|
346
321
|
end
|
347
322
|
end
|
@@ -14,7 +14,7 @@ describe WarningShot::TemplateGenerator do
|
|
14
14
|
end
|
15
15
|
|
16
16
|
it "should have generate YAML config files" do
|
17
|
-
yaml_files = Dir[@test_path / WarningShot::
|
17
|
+
yaml_files = Dir[@test_path / WarningShot::RecipeExt]
|
18
18
|
yaml_files.empty?.should be(false)
|
19
19
|
end
|
20
20
|
|
File without changes
|
File without changes
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: warningshot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cory ODaniel
|
@@ -13,7 +13,7 @@ date: 2008-10-15 00:00:00 -07:00
|
|
13
13
|
default_executable: warningshot
|
14
14
|
dependencies: []
|
15
15
|
|
16
|
-
description: WarningShot
|
16
|
+
description: WarningShot provides a simple YAML configurable interface to define dependencies that an application or machine depends on, then it builds them for you.
|
17
17
|
email: warningshot@coryodaniel.com.com
|
18
18
|
executables:
|
19
19
|
- warningshot
|
@@ -34,6 +34,8 @@ files:
|
|
34
34
|
- bin/ws-stage.bat
|
35
35
|
- bin/ws-stage.sh
|
36
36
|
- test/data
|
37
|
+
- test/data/faux_test.yml
|
38
|
+
- test/data/faux_test_resolver.rb
|
37
39
|
- test/data/mock.yaml
|
38
40
|
- test/data/mock.yml
|
39
41
|
- test/data/mock_resolver.rb
|
@@ -46,11 +48,6 @@ files:
|
|
46
48
|
- test/log/warningshot.log
|
47
49
|
- test/output
|
48
50
|
- 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
51
|
- test/spec/spec_helper.rb
|
55
52
|
- test/spec/unit
|
56
53
|
- test/spec/unit/core_ext
|
@@ -64,13 +61,13 @@ files:
|
|
64
61
|
- test/spec/unit/resolvers/permission_resolver_spec.rb
|
65
62
|
- test/spec/unit/resolvers/symlink_resolver_spec.rb
|
66
63
|
- test/spec/unit/resolvers/url_resolver_spec.rb
|
67
|
-
- test/spec/unit/
|
68
|
-
- test/spec/unit/
|
69
|
-
- test/spec/unit/
|
70
|
-
- test/spec/unit/
|
71
|
-
- test/spec/unit/
|
72
|
-
- test/spec/unit/
|
73
|
-
- test/spec/unit/
|
64
|
+
- test/spec/unit/warningshot
|
65
|
+
- test/spec/unit/warningshot/config_spec.rb
|
66
|
+
- test/spec/unit/warningshot/dependency_resolver_spec.rb
|
67
|
+
- test/spec/unit/warningshot/resolver_spec.rb
|
68
|
+
- test/spec/unit/warningshot/template_generator_spec.rb
|
69
|
+
- test/spec/unit/warningshot/version_spec.rb
|
70
|
+
- test/spec/unit/warningshot/warning_shot_spec.rb
|
74
71
|
- lib/core_ext
|
75
72
|
- lib/core_ext/hash.rb
|
76
73
|
- lib/core_ext/kernel.rb
|
@@ -86,15 +83,16 @@ files:
|
|
86
83
|
- lib/resolvers/permission_resolver.rb
|
87
84
|
- lib/resolvers/symlink_resolver.rb
|
88
85
|
- lib/resolvers/url_resolver.rb
|
89
|
-
- lib/
|
90
|
-
- lib/
|
91
|
-
- lib/
|
92
|
-
- lib/
|
93
|
-
- lib/
|
94
|
-
- lib/
|
95
|
-
- lib/
|
96
|
-
- lib/
|
97
|
-
- lib/
|
86
|
+
- lib/warningshot
|
87
|
+
- lib/warningshot/config.rb
|
88
|
+
- lib/warningshot/dependency_resolver.rb
|
89
|
+
- lib/warningshot/growl.rb
|
90
|
+
- lib/warningshot/logger.rb
|
91
|
+
- lib/warningshot/resolver.rb
|
92
|
+
- lib/warningshot/suite.rb
|
93
|
+
- lib/warningshot/template_generator.rb
|
94
|
+
- lib/warningshot/version.rb
|
95
|
+
- lib/warningshot/warning_shot.rb
|
98
96
|
- lib/warningshot.rb
|
99
97
|
- tasks/gemspec.rb
|
100
98
|
- tasks/rpsec.rb
|
@@ -114,7 +112,7 @@ files:
|
|
114
112
|
- images/warningshot_green.png
|
115
113
|
- images/warningshot_red.png
|
116
114
|
has_rdoc: true
|
117
|
-
homepage: http://
|
115
|
+
homepage: http://github.com/coryodaniel/warningshot
|
118
116
|
post_install_message:
|
119
117
|
rdoc_options: []
|
120
118
|
|
@@ -135,9 +133,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
135
133
|
requirements: []
|
136
134
|
|
137
135
|
rubyforge_project:
|
138
|
-
rubygems_version: 1.
|
136
|
+
rubygems_version: 1.3.1
|
139
137
|
signing_key:
|
140
138
|
specification_version: 2
|
141
|
-
summary: WarningShot
|
139
|
+
summary: WarningShot provides a simple YAML configurable interface to define dependencies that an application or machine depends on, then it builds them for you.
|
142
140
|
test_files: []
|
143
141
|
|
data/lib/warning_shot/config.rb
DELETED
@@ -1,132 +0,0 @@
|
|
1
|
-
# I pretty much goinked this from merb, you love merb, merb loves you.
|
2
|
-
# http://merbivore.com
|
3
|
-
|
4
|
-
module WarningShot
|
5
|
-
class Config
|
6
|
-
|
7
|
-
class << self
|
8
|
-
def defaults
|
9
|
-
@defaults ||= {
|
10
|
-
:environment => 'development',
|
11
|
-
:resolve => false,
|
12
|
-
:config_paths => ['.' / 'config' / 'warningshot', '~' / '.warningshot'],
|
13
|
-
:application => '.',
|
14
|
-
:log_path => '.' / 'log' / 'warningshot.log',
|
15
|
-
:log_level => :info,
|
16
|
-
:growl => false,
|
17
|
-
:verbose => false,
|
18
|
-
:colorize => true,
|
19
|
-
:resolvers => ['~' / '.warningshot' / '*.rb']
|
20
|
-
}
|
21
|
-
end
|
22
|
-
|
23
|
-
def use
|
24
|
-
@configuration ||= {}
|
25
|
-
yield @configuration
|
26
|
-
@configuration = defaults.merge(@configuration)
|
27
|
-
end
|
28
|
-
|
29
|
-
def [](key)
|
30
|
-
(@configuration||={})[key]
|
31
|
-
end
|
32
|
-
|
33
|
-
def []=(key,val)
|
34
|
-
(@configuration||={})[key] = val
|
35
|
-
#@configuration[key] = val
|
36
|
-
end
|
37
|
-
|
38
|
-
def setup(settings = {})
|
39
|
-
@configuration = defaults.merge(settings)
|
40
|
-
end
|
41
|
-
|
42
|
-
attr_accessor :configuration
|
43
|
-
|
44
|
-
def parse_args(argv = ARGV)
|
45
|
-
@configuration ||= {}
|
46
|
-
options = {}
|
47
|
-
options[:environment] = ENV["WARNING_SHOT_ENV"] if ENV["WARNING_SHOT_ENV"]
|
48
|
-
|
49
|
-
WarningShot.parser.banner = <<-BANNER
|
50
|
-
WarningShot v. #{WarningShot::VERSION}
|
51
|
-
Dependency Resolution Framework
|
52
|
-
|
53
|
-
Usage: warningshot [options]
|
54
|
-
BANNER
|
55
|
-
WarningShot.parser.separator '*'*80
|
56
|
-
|
57
|
-
WarningShot.parser.on("-e", "--environment=STRING", String, "Environment to test in","Default: #{defaults[:environment]}") do |env|
|
58
|
-
options[:environment] = env
|
59
|
-
end
|
60
|
-
WarningShot.parser.on("--resolve","Resolve missing dependencies (run as sudo)") do |resolve|
|
61
|
-
options[:resolve] = resolve
|
62
|
-
end
|
63
|
-
WarningShot.parser.on("-a","--app=PATH", String, "Path to application", "Default: #{defaults[:application]}") do |app|
|
64
|
-
options[:application] = app
|
65
|
-
end
|
66
|
-
WarningShot.parser.on("-c","--configs=PATH", String,"Path to config directories (':' seperated)","Default: #{defaults[:config_paths].join(':')}") do |config|
|
67
|
-
options[:config_paths] = config.split(':')
|
68
|
-
end
|
69
|
-
WarningShot.parser.on("-r","--resolvers=PATH", String,"Path to add'l resolvers (':' seperated)","Default: #{defaults[:resolvers].join(':')}") do |config|
|
70
|
-
options[:resolvers] = config.split(':')
|
71
|
-
end
|
72
|
-
WarningShot.parser.on("-t","--templates=PATH", String, "Generate template files", "Default: False") do |template_path|
|
73
|
-
template_path = options[:config_paths].first if template_path.nil? || template_path.empty?
|
74
|
-
WarningShot::TemplateGenerator.create(template_path)
|
75
|
-
exit
|
76
|
-
end
|
77
|
-
WarningShot.parser.on("-l","--log LOG", String, "Path to log file", "Default: #{defaults[:log_path]}") do |log_path|
|
78
|
-
options[:log_path] = log_path
|
79
|
-
end
|
80
|
-
WarningShot.parser.on("--loglevel [LEVEL]",[:debug, :info, :warn, :error, :fatal], "Default: #{defaults[:log_level]}") do |log_level|
|
81
|
-
options[:log_level] = log_level
|
82
|
-
end
|
83
|
-
WarningShot.parser.on("-g", "--growl", "Output results via growl (Requires growlnotify)") do |growl|
|
84
|
-
options[:growl] = growl
|
85
|
-
end
|
86
|
-
WarningShot.parser.on("-v", "--[no-]verbose", "Output verbose information") do |verbose|
|
87
|
-
options[:verbose] = verbose
|
88
|
-
end
|
89
|
-
WarningShot.parser.on("-p", "--[no-]prettycolors", "Colorize output") do |colorize|
|
90
|
-
options[:colorize] = colorize
|
91
|
-
end
|
92
|
-
WarningShot.parser.on_tail("--version", "Show version"){
|
93
|
-
WarningShot.parser.parse!(argv)
|
94
|
-
WarningShot::Config.setup(options)
|
95
|
-
|
96
|
-
WarningShot.load_app
|
97
|
-
WarningShot.load_addl_resolvers
|
98
|
-
|
99
|
-
puts "WarningShot v. #{WarningShot::VERSION}"
|
100
|
-
puts "Installed resolvers:"
|
101
|
-
Resolver.descendents.each { |klass|
|
102
|
-
puts "\n"
|
103
|
-
puts klass
|
104
|
-
puts " Tests: #{klass.tests.length}, Resolutions: #{klass.resolutions.length} [#{klass.resolutions.empty? ? 'irresolvable' : 'resolvable'}]"
|
105
|
-
puts " #{klass.description}"
|
106
|
-
puts " Command Line Options: #{klass.raw_cli_ext.inject([]){|m,c| m << c[:long]}.join(',')}" if klass.raw_cli_ext
|
107
|
-
}
|
108
|
-
exit
|
109
|
-
}
|
110
|
-
WarningShot.parser.on_tail("-h", "--help","Show this help message") { puts WarningShot.parser; exit }
|
111
|
-
WarningShot.parser.on_tail("--debugger","Enable debugging") do
|
112
|
-
begin
|
113
|
-
require "ruby-debug"
|
114
|
-
Debugger.start
|
115
|
-
Debugger.settings[:autoeval] = true if Debugger.respond_to?(:settings)
|
116
|
-
puts "Debugger enabled"
|
117
|
-
rescue LoadError => ex
|
118
|
-
puts "You need to install ruby-debug to run the server in debugging mode. With gems, use 'gem install ruby-debug'"
|
119
|
-
exit
|
120
|
-
end
|
121
|
-
end
|
122
|
-
|
123
|
-
WarningShot.parser.parse!(argv)
|
124
|
-
WarningShot::Config.setup(options)
|
125
|
-
rescue OptionParser::InvalidOption, OptionParser::InvalidArgument => op
|
126
|
-
puts op
|
127
|
-
puts WarningShot.parser #; exit;
|
128
|
-
end
|
129
|
-
|
130
|
-
end #End self
|
131
|
-
end #End Config
|
132
|
-
end#End WarningShot
|