gems-status 0.4.0 → 0.5.0

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.
@@ -1,3 +1,3 @@
1
1
  module GemsStatusMetadata
2
- VERSION = "0.4.0"
2
+ VERSION = "0.5.0"
3
3
  end
@@ -10,11 +10,12 @@ require "utils"
10
10
 
11
11
  class LockfileGems < GemsCommand
12
12
  def initialize(conf)
13
- Utils::check_parameters('LockfileGems', conf, ["id", "filenames", "gems_url"])
13
+ Utils::check_parameters('LockfileGems', conf, ["id", "filenames", "gems_url", "upstream_url"])
14
14
  @filenames = conf['filenames']
15
15
  @gems_url = conf['gems_url']
16
16
  @result = {}
17
17
  @ident = conf['id']
18
+ @upstream_url = conf['upstream_url']
18
19
  end
19
20
 
20
21
  def get_data(dirname, filename)
@@ -75,6 +76,8 @@ class LockfileGems < GemsCommand
75
76
  @result[name] = [] if !@result[name]
76
77
  @result[name] << RubyGemsGems_GemSimple.new(name, version , '', filename,
77
78
  gems_url, dependencies)
79
+ @result[name] << RubyGemsGems_GemSimple.new(name, version , '', @upstream_url,
80
+ @upstream_url, dependencies)
78
81
  end
79
82
  update_dependencies
80
83
  end
@@ -17,19 +17,13 @@ class RubyGemsGems_GemSimple < GemSimple
17
17
  uri_debug = gem_uri.clone
18
18
  uri_debug.password = "********" if uri_debug.password
19
19
  Utils::log_debug "download and md5 for #{@name} from #{uri_debug}"
20
+ @md5 = nil
20
21
  begin
21
- if gem_uri.user && gem_uri.password
22
- source = open(gem_uri.scheme + "://" + gem_uri.host + "/" + gem_uri.path,
23
- :http_basic_authentication=>[gem_uri.user, gem_uri.password])
24
- else
25
- source = open(gem_uri)
26
- end
27
- @md5 = Digest::MD5.hexdigest(source.read)
28
- return @md5
22
+ @md5 = Utils::download_md5(gem_uri)
29
23
  rescue
30
24
  Utils::log_error(@name, "There was a problem opening #{gem_uri}")
31
25
  end
32
- return nil
26
+ return @md5
33
27
  end
34
28
 
35
29
  def from_git?
@@ -1,6 +1,7 @@
1
1
  class Utils
2
2
  attr_accessor :errors
3
3
  @@errors = {}
4
+ @@md5_sums = {}
4
5
 
5
6
  def Utils.errors
6
7
  return @@errors
@@ -30,4 +31,17 @@ class Utils
30
31
  $stderr.puts "DEBUG: #{msg}"
31
32
  end
32
33
 
34
+ def Utils.download_md5(gem_uri)
35
+ return @@md5_sums[gem_uri] if @@md5_sums[gem_uri]
36
+ if gem_uri.user && gem_uri.password
37
+ source = open(gem_uri.scheme + "://" + gem_uri.host + "/" + gem_uri.path,
38
+ :http_basic_authentication=>[gem_uri.user, gem_uri.password])
39
+ else
40
+ source = open(gem_uri)
41
+ end
42
+ md5 = Digest::MD5.hexdigest(source.read)
43
+ @@md5_sums[gem_uri] = md5
44
+ return md5
45
+ end
46
+
33
47
  end
@@ -3,6 +3,9 @@ require 'gems_status_metadata'
3
3
  require 'utils'
4
4
 
5
5
  class ViewResults
6
+ @@patched = 0
7
+ @@outdated = 0
8
+ @@up_to_date = 0
6
9
 
7
10
  def ViewResults.print_description(ids)
8
11
  puts "
@@ -49,6 +52,16 @@ class ViewResults
49
52
  "
50
53
  end
51
54
 
55
+ def ViewResults.update_summary(name_color)
56
+ if name_color == "alert"
57
+ @@patched += 1
58
+ elsif name_color == "warning"
59
+ @@outdated += 1
60
+ else
61
+ @@up_to_date += 1
62
+ end
63
+ end
64
+
52
65
  def ViewResults.print_results(k, results, target, checker_results, comments)
53
66
  puts "<p>"
54
67
  puts "<table width='100%' class='table_results'>"
@@ -105,16 +118,25 @@ class ViewResults
105
118
  end
106
119
  puts "<tr><td width='50%'><span class='#{name_color}'>#{k.upcase}</span></td><td width='10%'>version</td><td width='40%'>md5</td></tr>"
107
120
  puts html_string
121
+ update_summary(name_color)
108
122
  puts "</table>"
109
123
  puts "</p>"
110
- puts "<p> <span class='check'>checks:"
111
- puts "<br/>#{checker_results}</span>" if checker_results
112
- puts "</p><p><span class='errors'>errors: "
113
- puts "<br/>#{Utils::errors[k]}</span>" if Utils::errors[k]
114
- Utils.errors.delete(k)
115
- puts "</p><p><span class='comment'>comments: "
116
- puts "<br/>#{comments}</span>" if comments
117
- puts "</p>"
124
+ if checker_results
125
+ puts "<p> <span class='check'>checks:"
126
+ puts "<br/>#{checker_results}</span>"
127
+ puts "</p>"
128
+ end
129
+ if Utils::errors[k]
130
+ puts "<p><span class='errors'>errors: "
131
+ puts "<br/>#{Utils::errors[k]}</span>"
132
+ Utils.errors.delete(k)
133
+ puts "</p>"
134
+ end
135
+ if comments
136
+ puts "<p><span class='comment'>comments: "
137
+ puts "<br/>#{comments}</span>"
138
+ puts "</p>"
139
+ end
118
140
  end
119
141
 
120
142
  def ViewResults.print_head
@@ -189,16 +211,23 @@ class ViewResults
189
211
  end
190
212
 
191
213
  def ViewResults.print_hash(desc, data, style)
214
+ return if !data or data.length == 0
192
215
  puts "<p>"
193
216
  puts "<h2>#{desc}: #{data.length}</h2>"
194
217
  data.each {|k,v| puts "<span class='#{style}'>#{k.upcase} : #{v}</span><br/>"}
195
218
  puts "</p>"
196
219
  end
197
220
 
221
+ def ViewResults.print_summary
222
+ puts "<h2>summary</h2>"
223
+ puts "patched/errored: #{@@patched} outdated: #{@@outdated} up-to-date: #{@@up_to_date}"
224
+ end
225
+
198
226
  def ViewResults.print_tail(checker_results, comments)
199
227
  self.print_hash("checks", checker_results, "check")
200
228
  self.print_hash("comments", comments, "comment")
201
229
  self.print_hash("errors", Utils::errors, "errors")
230
+ self.print_summary
202
231
  date = Time.now.strftime('%a %b %d %H:%M:%S %Z %Y')
203
232
  puts "<p class='footer'>run by <a href=\"https://github.com/jordimassaguerpla/gems-status\">gems-status</a> - #{date} - version: #{GemsStatusMetadata::VERSION}</p>
204
233
  </body>
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gems-status
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15
4
+ hash: 11
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 4
8
+ - 5
9
9
  - 0
10
- version: 0.4.0
10
+ version: 0.5.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jordi Massaguer Pla
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-04-12 00:00:00 Z
18
+ date: 2012-04-13 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: xml-simple
@@ -110,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
110
110
  requirements: []
111
111
 
112
112
  rubyforge_project:
113
- rubygems_version: 1.8.15
113
+ rubygems_version: 1.8.11
114
114
  signing_key:
115
115
  specification_version: 3
116
116
  summary: compares rubygems from different sources