warning-shot 0.9.0 → 0.9.1

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/History.txt CHANGED
@@ -1,3 +1,11 @@
1
+ == 0.9.0 2008-03-12
2
+ * 1 minor enhancement:
3
+ * Cleaned up gem output
4
+
5
+ == 0.9.0 2008-03-12
6
+ * 1 major enhancement:
7
+ * Fixed the gem handler bug
8
+
1
9
  == 0.8.9 2008-02-26
2
10
  * 1 major enhancement:
3
11
  * Real initial public release, I hope.
data/Manifest.txt CHANGED
@@ -25,6 +25,7 @@ lib/warning_shot/dep_checker.rb
25
25
  lib/warning_shot/template_generator.rb
26
26
  lib/warning_shot/base_extensions.rb
27
27
  lib/warning_shot/gem_handler.rb
28
+ lib/warning_shot/logger.rb
28
29
  lib/warning_shot/config_parser.rb
29
30
  lib/warning_shot/test_script.rb
30
31
  lib/warning_shot/version.rb
@@ -178,31 +178,30 @@ module RippleNetworks
178
178
 
179
179
  section("Checking gem dependencies")
180
180
  #Initialize gem handler
181
- @gh = GemHandler.new(self.configs["gems"],self.options[:gems])
181
+ @gh = GemHandler.new(self.configs["gems"])
182
182
 
183
- gem_errors = @gh.missing_gems.size
184
-
185
- if @gh.missing_gems.size > 0
186
- record "#{gem_errors} gems not found: "
187
- @gh.missing_gems.each do |gem,version|
188
- record "\t#{gem} : #{version}"
189
- end
183
+ #List already installed gems
184
+ @gh.found_gems.each do |gem,version|
185
+ record("#{gem} v. #{version} was found!",:info)
190
186
  end
191
187
 
192
- if self.options[:gems] && @gh.failed_installs.size > 0
193
- gem_errors = @gh.failed_installs.size
194
- record "#{gem_errors} gems failed to install:"
195
- @gh.failed_installs.each do |gem,message|
196
- record "\t#{gem}: #{message}"
197
- end
188
+ #install missing gems
189
+ @gh.missing_gems.each do |gem,version|
190
+ record("#{gem} v. #{version} was NOT found!",(self.options[:gems]) ? :warning : :error)
191
+ @gh.install(gem,version) if self.options[:gems]
192
+ end
193
+
194
+ #List failed gems
195
+ @gh.failed_gems.each do |gem,reason|
196
+ record("#{gem} failed to install! Reason: #{reason}",:error)
198
197
  end
199
198
 
200
199
  @gh.installed_gems.each do |gem|
201
200
  record("#{gem.name} v. #{gem.version} was installed!",:info)
202
201
  end
203
202
 
204
- record("#{gem_errors} gems had errors", :error) if gem_errors > 0
205
- @errors += gem_errors
203
+ gem_errors = @gh.missing_gems.size - @gh.installed_gems.size
204
+ record("#{gem_errors} gems had errors", :info) if gem_errors > 0
206
205
 
207
206
  section("Loading Ruby test scripts")
208
207
  count = load_ruby_scripts
@@ -11,21 +11,22 @@ module RippleNetworks
11
11
  CONDITIONAL_RGX = /[^\d]*/.freeze
12
12
  VERSION_RGX = /[\d\.]+/.freeze
13
13
 
14
- attr_reader :gems_to_install, :missing_gems, :failed_installs, :installed_gems
14
+ attr_reader :gems_to_install, :missing_gems, :failed_gems, :installed_gems, :found_gems
15
15
 
16
-
17
- def initialize(gem_list,do_install=false,install_dir=nil)
18
-
19
- @install_dir ||= Gem.dir
16
+ def initialize(gem_list,install_all=false,install_dir=Gem.dir)
17
+ @install_dir = install_dir
20
18
 
21
- @missing_gems = {}
22
- @installed_gems = []
19
+ @missing_gems = {} # gems that will attempted to be installed
20
+ @failed_gems = {} # gems taht failed installation
21
+ @installed_gems = [] # gems that were installed by this process
22
+ @found_gems = {} # gems that were already installed
23
+
23
24
  @gems_to_install = split(gem_list)
24
- @failed_installs = {}
25
-
26
- check_gems
25
+ #TODO Create a Gem<Strunct(name,status,version,details) and get rid of all these
26
+ #different gem variables
27
27
 
28
- install! if do_install
28
+ check_gems
29
+ install! if install_all
29
30
  end
30
31
 
31
32
 
@@ -51,39 +52,54 @@ module RippleNetworks
51
52
  check_gems
52
53
  end
53
54
 
55
+ def install(gem_name,gem_version)
56
+ begin
57
+ #RubyGems DependencyInstaller installs all dependencies, and the gem, woot!
58
+ dep_inst = Gem::DependencyInstaller.new(gem_name,gem_version,{:install_dir => @install_dir})
59
+ rescue Exception => e
60
+ #Invalid Gem Name / Version
61
+ @failed_gems[gem_name] = "Bad gem name or version #{gem_name} #{gem_version}"
62
+ return false
63
+ end
64
+
65
+ #Determine what dependencies are missing
66
+ dep_inst.gather_dependencies
67
+
68
+ begin
69
+ #Install the dependencies and the gem
70
+ dep_inst.install
71
+
72
+ #Add list of installed gems to @installed_gems
73
+ @installed_gems.push(*dep_inst.installed_gems)
74
+
75
+ #Remove any isntalled gems from failed list
76
+ dep_inst.installed_gems.each do |gem|
77
+ @failed_gems.delete(gem.name) if @failed_gems.has_key?(gem.name)
78
+ end
79
+
80
+ #Update the local gem cache
81
+ Gem::cache.refresh!
82
+
83
+ #Update missing gems
84
+ check_gems
85
+ return true
86
+ rescue Errno::EACCES => e
87
+ @failed_gems[gem_name] = "Invalid permissions . . . try running w/ su"
88
+ rescue Gem::FilePermissionError => e
89
+ @failed_gems[gem_name] = "Invalid permissions . . . try running w/ su"
90
+ rescue Exception => e
91
+ @failed_gems[gem_name] = e.message
92
+ end
93
+
94
+ return false
95
+ end
54
96
 
55
- def install!
56
- @failed_installs = {}
57
-
58
- #RubyGems DependencyInstaller installs all dependencies, and the gem, woot!
97
+ def install!
59
98
  @missing_gems.each do |gem_name,gem_version|
60
- begin
61
- dep_inst = Gem::DependencyInstaller.new(gem_name,gem_version,{:install_dir => @install_dir})
62
- rescue Exception => e
63
- #Invalid Gem Name / Version
64
- @failed_installs[gem_name] = "Bad gem name or version #{gem_name} #{gem_version}"
65
- end
66
-
67
- #Determine what dependencies are missing
68
- dep_inst.gather_dependencies
69
-
70
- #Install missing dependencies
71
- begin
72
- dep_inst.install
73
- @installed_gems.push(*dep_inst.installed_gems)
74
- rescue Errno::EACCES => e
75
- @failed_installs[gem_name] = "Invalid permissions . . . try running w/ sudo"
76
- rescue Gem::FilePermissionError => e
77
- @failed_installs[gem_name] = "Invalid permissions . . . try running w/ sudo"
78
- rescue Exception => e
79
- @failed_installs[gem_name] = e.message
80
- end
99
+ install(gem_name,gem_version)
81
100
  end
82
101
 
83
- Gem::cache.refresh!
84
- check_gems
85
-
86
- return @failed_installs.length == 0
102
+ return @failed_gems.length == 0
87
103
  end
88
104
 
89
105
 
@@ -167,7 +183,11 @@ module RippleNetworks
167
183
 
168
184
  @gems_to_install.each do |gem_name,gem_version|
169
185
  gem_info = installed?(gem_name,gem_version)
170
- @missing_gems[gem_name] = gem_version unless gem_info[:installed]
186
+ if gem_info[:installed]
187
+ @found_gems[gem_name] = gem_version
188
+ else
189
+ @missing_gems[gem_name] = gem_version
190
+ end
171
191
  end
172
192
  end
173
193
 
@@ -0,0 +1,17 @@
1
+
2
+ module RippleNetworks
3
+ module WarningShot
4
+ class Logger
5
+
6
+ def initialize(path,verbose=false);end;
7
+
8
+ def info();end;
9
+ def debug();end;
10
+ def error();end;
11
+ def warning();end;
12
+ def fatal();end;
13
+
14
+ def close();end;
15
+ end
16
+ end
17
+ end
@@ -3,7 +3,7 @@ module WarningShot #:nodoc:
3
3
  module VERSION #:nodoc:
4
4
  MAJOR = 0
5
5
  MINOR = 9
6
- TINY = 0
6
+ TINY = 1
7
7
  RC = 1
8
8
 
9
9
  STRING = [MAJOR, MINOR, TINY].join('.')
data/website/index.html CHANGED
@@ -33,7 +33,7 @@
33
33
  <h1>warning_shot</h1>
34
34
  <div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/warning_shot"; return false'>
35
35
  <p>Get Version</p>
36
- <a href="http://rubyforge.org/projects/warning_shot" class="numbers">0.8.9</a>
36
+ <a href="http://rubyforge.org/projects/warning_shot" class="numbers">0.9.1</a>
37
37
  </div>
38
38
  <h1>&#x2192; &#8216;warning_shot&#8217;</h1>
39
39
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: warning-shot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cory O'Daniel
@@ -53,6 +53,7 @@ files:
53
53
  - lib/warning_shot/template_generator.rb
54
54
  - lib/warning_shot/base_extensions.rb
55
55
  - lib/warning_shot/gem_handler.rb
56
+ - lib/warning_shot/logger.rb
56
57
  - lib/warning_shot/config_parser.rb
57
58
  - lib/warning_shot/test_script.rb
58
59
  - lib/warning_shot/version.rb