gems-status 0.23.0 → 0.25.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. data/lib/gems-status.rb +2 -5
  2. data/lib/gems-status/checkers.rb +11 -0
  3. data/lib/gems-status/{exists_in_upstream.rb → checkers/exists_in_upstream.rb} +1 -1
  4. data/lib/gems-status/{gem_checker.rb → checkers/gem_checker.rb} +0 -0
  5. data/lib/gems-status/{git_check_messages.rb → checkers/git_check_messages.rb} +5 -2
  6. data/lib/gems-status/{hg_check_messages.rb → checkers/hg_check_messages.rb} +1 -1
  7. data/lib/gems-status/{not_a_security_alert_checker.rb → checkers/not_a_security_alert_checker.rb} +11 -7
  8. data/lib/gems-status/{not_native_gem_checker.rb → checkers/not_native_gem_checker.rb} +1 -1
  9. data/lib/gems-status/{not_rails_checker.rb → checkers/not_rails_checker.rb} +1 -1
  10. data/lib/gems-status/{print_gem_versions.rb → checkers/print_gem_versions.rb} +0 -0
  11. data/lib/gems-status/{scm_check_messages.rb → checkers/scm_check_messages.rb} +0 -0
  12. data/lib/gems-status/{scm_security_messages.rb → checkers/scm_security_messages.rb} +0 -0
  13. data/lib/gems-status/{svn_check_messages.rb → checkers/svn_check_messages.rb} +1 -1
  14. data/lib/gems-status/gems_composite_command.rb +1 -6
  15. data/lib/gems-status/gems_status_metadata.rb +1 -1
  16. data/lib/gems-status/{view_results.rb → html_view.rb} +19 -15
  17. data/lib/gems-status/sources.rb +3 -0
  18. data/lib/gems-status/{lockfile_gems.rb → sources/lockfile_gems.rb} +1 -1
  19. data/lib/gems-status/{obs_gems.rb → sources/obs_gems.rb} +0 -0
  20. data/lib/gems-status/{ruby_gems_gems.rb → sources/ruby_gems_gems.rb} +1 -1
  21. data/lib/gems-status/{ruby_gems_gems_gem_simple.rb → sources/ruby_gems_gems_gem_simple.rb} +0 -0
  22. data/test/test-gems_command.rb +1 -1
  23. data/test/test-gems_composite_command.rb +1 -1
  24. data/test/test-lockfile_gems.rb +1 -1
  25. data/test/test-not_rails_checker.rb +6 -8
  26. data/test/test-obs_gems.rb +1 -1
  27. data/test/test-ruby_gems_gems.rb +1 -1
  28. data/test/test-utils.rb +1 -1
  29. metadata +23 -22
  30. data/test/gem_graph.png +0 -0
@@ -1,6 +1,4 @@
1
1
  #!/usr/bin/ruby
2
-
3
-
4
2
 
5
3
  require "rubygems"
6
4
  require "xmlsimple"
@@ -8,10 +6,9 @@ require "open-uri"
8
6
  require "yaml"
9
7
 
10
8
  require "gems-status/gem_simple"
11
- require "gems-status/obs_gems"
12
- require "gems-status/lockfile_gems"
13
- require "gems-status/ruby_gems_gems"
9
+ require "gems-status/sources.rb"
14
10
  require "gems-status/gems_composite_command"
11
+ require "gems-status/checkers"
15
12
 
16
13
  class GemStatus
17
14
  def initialize(conf_file)
@@ -0,0 +1,11 @@
1
+ require "gems-status/checkers/exists_in_upstream"
2
+ require "gems-status/checkers/git_check_messages"
3
+ require "gems-status/checkers/hg_check_messages"
4
+ require "gems-status/checkers/not_a_security_alert_checker"
5
+ require "gems-status/checkers/not_native_gem_checker"
6
+ require "gems-status/checkers/not_rails_checker"
7
+ require "gems-status/checkers/scm_check_messages"
8
+ require "gems-status/checkers/scm_security_messages"
9
+ require "gems-status/checkers/svn_check_messages"
10
+ require "gems-status/checkers/print_gem_versions"
11
+
@@ -1,6 +1,6 @@
1
1
  require 'rubygems'
2
2
  require 'open-uri'
3
- require 'gems-status/gem_checker'
3
+ require 'gems-status/checkers/gem_checker'
4
4
  require 'gems-status/utils'
5
5
 
6
6
  class ExistsInUpstream < GemChecker
@@ -1,8 +1,11 @@
1
1
  require "git"
2
2
 
3
- require "gems-status/scm_check_messages"
3
+ require "gems-status/checkers/scm_check_messages"
4
4
 
5
5
  class GitCheckMessages < ScmCheckMessages
6
+ # This value is the maximum log entries that git.log accepts.
7
+ # It is a magic number found through testing.
8
+ MAX_NUM_MESSAGES = 8688
6
9
 
7
10
  private
8
11
 
@@ -17,7 +20,7 @@ private
17
20
  g = Git.clone(source_repo, name)
18
21
  end
19
22
  g.pull
20
- return g.log
23
+ return g.log MAX_NUM_MESSAGES
21
24
  end
22
25
 
23
26
  def commit_key(commit)
@@ -1,6 +1,6 @@
1
1
  require "mercurial-ruby"
2
2
 
3
- require "gems-status/scm_check_messages"
3
+ require "gems-status/checkers/scm_check_messages"
4
4
 
5
5
  class HgCheckMessages < ScmCheckMessages
6
6
  def initialize
@@ -2,11 +2,11 @@ require "gmail"
2
2
  require "json"
3
3
  require "open-uri"
4
4
 
5
- require "gems-status/gem_checker"
6
- require "gems-status/git_check_messages"
7
- require "gems-status/hg_check_messages"
8
- require "gems-status/svn_check_messages"
9
- require "gems-status/scm_security_messages"
5
+ require "gems-status/checkers/gem_checker"
6
+ require "gems-status/checkers/git_check_messages"
7
+ require "gems-status/checkers/hg_check_messages"
8
+ require "gems-status/checkers/svn_check_messages"
9
+ require "gems-status/checkers/scm_security_messages"
10
10
 
11
11
  class NotASecurityAlertChecker < GemChecker
12
12
  def initialize(conf)
@@ -85,15 +85,19 @@ class NotASecurityAlertChecker < GemChecker
85
85
  "email_#{listname}_#{gem.name}_#{gem.origin}_#{email.uid}"
86
86
  end
87
87
 
88
+ def match_name(str, name)
89
+ str =~ /\b#{name}\b/
90
+ end
91
+
88
92
  def look_in_emails(gem)
89
93
  @emails.each do |listname, emails|
90
94
  emails.each do |email|
91
- if listname.include?(gem.name)
95
+ if match_name(listname, gem.name)
92
96
  @security_messages[key_for_emails(listname, gem, email)] = email.subject
93
97
  Utils::log_debug "looking for security emails: listname matches gem #{gem.name}: #{listname}"
94
98
  next
95
99
  end
96
- if email.subject.include?(gem.name)
100
+ if match_name(email.subject, gem.name)
97
101
  @security_messages[key_for_emails(listname, gem, email)] = email.subject
98
102
  Utils::log_debug "looking for security emails: subject matches gem #{gem.name}: #{email.subject}"
99
103
  next
@@ -1,7 +1,7 @@
1
1
  require 'rubygems/format'
2
2
  require 'rubygems/old_format'
3
3
  require 'open-uri'
4
- require 'gems-status/gem_checker'
4
+ require 'gems-status/checkers/gem_checker'
5
5
 
6
6
  class NotNativeGemChecker < GemChecker
7
7
  def check?(gem)
@@ -1,7 +1,7 @@
1
1
  require 'rubygems/format'
2
2
  require 'rubygems/old_format'
3
3
  require 'open-uri'
4
- require 'gems-status/gem_checker'
4
+ require 'gems-status/checkers/gem_checker'
5
5
 
6
6
  class NotRailsChecker < GemChecker
7
7
  RAILS_GEMS = ["rails", "railties","activesupport"]
@@ -1,4 +1,4 @@
1
- require "gems-status/scm_check_messages"
1
+ require "gems-status/checkers/scm_check_messages"
2
2
 
3
3
  class SvnCheckMessages < ScmCheckMessages
4
4
 
@@ -1,11 +1,6 @@
1
1
  require "gems-status/gem_simple"
2
2
  require "gems-status/gems_command"
3
- require "gems-status/not_native_gem_checker"
4
- require "gems-status/not_rails_checker"
5
- require "gems-status/exists_in_upstream"
6
- require "gems-status/view_results"
7
- require "gems-status/not_a_security_alert_checker"
8
- require "gems-status/print_gem_versions"
3
+ require "gems-status/html_view"
9
4
 
10
5
  class GemsCompositeCommand < GemsCommand
11
6
  def initialize(target)
@@ -1,3 +1,3 @@
1
1
  module GemsStatusMetadata
2
- VERSION = "0.23.0"
2
+ VERSION = "0.25.0"
3
3
  end
@@ -2,12 +2,16 @@ require 'rubygems'
2
2
  require 'gems-status/gems_status_metadata'
3
3
  require 'gems-status/utils'
4
4
 
5
- class ViewResults
6
- @@patched = []
7
- @@outdated = []
8
- @@up_to_date = []
5
+ class HTMLView
9
6
 
10
- def ViewResults.print_description(ids)
7
+ def initialize()
8
+ @patched = []
9
+ @outdated = []
10
+ @up_to_date = []
11
+ end
12
+
13
+
14
+ def print_description(ids)
11
15
  puts "
12
16
  <h1>gems-status</h1>
13
17
  <p>This is a comparison between different gem sources:</p>
@@ -54,7 +58,7 @@ class ViewResults
54
58
  "
55
59
  end
56
60
 
57
- def ViewResults.update_summary(gem_name, status)
61
+ def update_summary(gem_name, status)
58
62
  if status == "alert"
59
63
  @@patched << gem_name
60
64
  elsif status == "warning"
@@ -64,7 +68,7 @@ class ViewResults
64
68
  end
65
69
  end
66
70
 
67
- def ViewResults.print_results(k, results, target, checker_results, comments)
71
+ def print_results(k, results, target, checker_results, comments)
68
72
  puts "<p>"
69
73
  puts "<table width='100%' class='table_results'>"
70
74
  version = results[target][k][0].version
@@ -141,7 +145,7 @@ class ViewResults
141
145
  end
142
146
  end
143
147
 
144
- def ViewResults.print_head
148
+ def print_head
145
149
  puts "<html>
146
150
  <head>
147
151
  <style>
@@ -213,7 +217,7 @@ class ViewResults
213
217
  <body>"
214
218
  end
215
219
 
216
- def ViewResults.print_hash(desc, data, style, anchor = false)
220
+ def print_hash(desc, data, style, anchor = false)
217
221
  return if !data or data.length == 0
218
222
  puts "<p>"
219
223
  puts "<h2>#{desc}: #{data.length}</h2>"
@@ -229,7 +233,7 @@ class ViewResults
229
233
  puts "</p>"
230
234
  end
231
235
 
232
- def ViewResults.print_summary
236
+ def print_summary
233
237
  puts "<a name='summary'/><h1>Summary</h1>"
234
238
  puts "<p><h2>patched/errored #{@@patched.length}</h2>"
235
239
  puts "<ul>"
@@ -249,12 +253,12 @@ class ViewResults
249
253
  puts "</ul></p>"
250
254
  end
251
255
 
252
- def ViewResults.print_tail(checker_results, comments)
256
+ def print_tail(checker_results, comments)
253
257
  puts "<h1>Others</h1>"
254
- self.print_hash("comments", comments, "comment")
255
- self.print_hash("errors", Utils::errors, "errors")
256
- self.print_summary
257
- self.print_hash("checks", checker_results, "summary", true)
258
+ print_hash("comments", comments, "comment")
259
+ print_hash("errors", Utils::errors, "errors")
260
+ print_summary
261
+ print_hash("checks", checker_results, "summary", true)
258
262
  puts "<a href='error.txt'>Check log</a>"
259
263
  date = Time.now.strftime('%a %b %d %H:%M:%S %Z %Y')
260
264
  puts "<p class='footer'>run by <a href=\"https://github.com/jordimassaguerpla/gems-status\">gems-status</a> - #{date} - version: #{GemsStatusMetadata::VERSION}</p>
@@ -0,0 +1,3 @@
1
+ require "gems-status/sources/obs_gems"
2
+ require "gems-status/sources/lockfile_gems"
3
+ require "gems-status/sources/ruby_gems_gems"
@@ -4,7 +4,7 @@ require "open-uri"
4
4
  require "zlib"
5
5
 
6
6
  require "bundler"
7
- require "gems-status/ruby_gems_gems_gem_simple"
7
+ require "gems-status/sources/ruby_gems_gems_gem_simple"
8
8
  require "gems-status/gems_command"
9
9
  require "gems-status/utils"
10
10
 
@@ -3,7 +3,7 @@ require "xmlsimple"
3
3
  require "open-uri"
4
4
  require "zlib"
5
5
 
6
- require "gems-status/ruby_gems_gems_gem_simple"
6
+ require "gems-status/sources/ruby_gems_gems_gem_simple"
7
7
  require "gems-status/gems_command"
8
8
  require "gems-status/utils"
9
9
 
@@ -1,6 +1,6 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
2
  require 'test/unit'
3
- require 'gems_command'
3
+ require 'gems-status'
4
4
 
5
5
  class TestGemsCommand < Test::Unit::TestCase
6
6
  def test_gem_name_wrong_name
@@ -1,6 +1,6 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
2
  require 'test/unit'
3
- require 'gems_composite_command'
3
+ require 'gems-status'
4
4
 
5
5
  class GemsCompositeCommandTest < GemsCompositeCommand
6
6
  attr_accessor :results
@@ -1,6 +1,6 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
2
  require 'test/unit'
3
- require 'lockfile_gems'
3
+ require 'gems-status'
4
4
  require 'rubygems/dependency'
5
5
 
6
6
  class LockfileGemsTest < LockfileGems
@@ -1,20 +1,18 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
2
  require 'rubygems'
3
3
  require 'test/unit'
4
- require 'gems_command'
5
- require 'gem_simple'
6
- require 'not_rails_checker'
4
+ require 'gems-status'
7
5
 
8
6
  class TestNotRailsChecker < Test::Unit::TestCase
9
7
  def test_gem_with_no_deps
10
8
  gem = GemSimple.new("name", Gem::Version.new("1.2.3"), nil, nil, nil, nil)
11
- check = NotRailsChecker
9
+ check = NotRailsChecker.new nil
12
10
  result = check.check?(gem)
13
11
  assert(!result)
14
12
  end
15
13
  def test_gem_with_no_deps_2
16
14
  gem = GemSimple.new("name", Gem::Version.new("1.2.3"), nil, nil, nil, [])
17
- check = NotRailsChecker
15
+ check = NotRailsChecker.new nil
18
16
  result = check.check?(gem)
19
17
  assert(result)
20
18
  end
@@ -25,7 +23,7 @@ class TestNotRailsChecker < Test::Unit::TestCase
25
23
  ]
26
24
 
27
25
  gem = GemSimple.new("name", Gem::Version.new("1.2.3"), nil, nil, nil, deps)
28
- check = NotRailsChecker
26
+ check = NotRailsChecker.new nil
29
27
  result = check.check?(gem)
30
28
  assert(!result)
31
29
  end
@@ -36,7 +34,7 @@ class TestNotRailsChecker < Test::Unit::TestCase
36
34
  ]
37
35
 
38
36
  gem = GemSimple.new("name", Gem::Version.new("1.2.3"), nil, nil, nil, deps)
39
- check = NotRailsChecker
37
+ check = NotRailsChecker.new nil
40
38
  result = check.check?(gem)
41
39
  assert(result)
42
40
  end
@@ -47,7 +45,7 @@ class TestNotRailsChecker < Test::Unit::TestCase
47
45
  ]
48
46
 
49
47
  gem = GemSimple.new("name", Gem::Version.new("1.2.3"), nil, nil, nil, deps)
50
- check = NotRailsChecker
48
+ check = NotRailsChecker.new nil
51
49
  result = check.check?(gem)
52
50
  assert(!result)
53
51
  end
@@ -1,6 +1,6 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
2
  require 'test/unit'
3
- require 'obs_gems'
3
+ require 'gems-status'
4
4
 
5
5
  class OBSGemsTest < OBSGems
6
6
  attr_accessor :result
@@ -1,6 +1,6 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
2
  require 'test/unit'
3
- require 'ruby_gems_gems'
3
+ require 'gems-status'
4
4
 
5
5
  class RubyGemsGemsTest < RubyGemsGems
6
6
  def initialize
@@ -1,7 +1,7 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
2
  require 'test/unit'
3
3
  require 'rubygems'
4
- require 'utils'
4
+ require 'gems-status'
5
5
 
6
6
  class TestUtils < Test::Unit::TestCase
7
7
  def test_check_parameters_no_classname
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: 67
4
+ hash: 123
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 23
8
+ - 25
9
9
  - 0
10
- version: 0.23.0
10
+ version: 0.25.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-08-16 00:00:00 Z
18
+ date: 2012-12-14 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: xml-simple
@@ -112,26 +112,28 @@ extra_rdoc_files: []
112
112
  files:
113
113
  - LICENSE
114
114
  - lib/gems-status.rb
115
- - lib/gems-status/ruby_gems_gems.rb
116
115
  - lib/gems-status/gem_simple.rb
117
- - lib/gems-status/lockfile_gems.rb
118
- - lib/gems-status/print_gem_versions.rb
119
- - lib/gems-status/ruby_gems_gems_gem_simple.rb
120
- - lib/gems-status/not_native_gem_checker.rb
121
- - lib/gems-status/svn_check_messages.rb
116
+ - lib/gems-status/sources/ruby_gems_gems.rb
117
+ - lib/gems-status/sources/lockfile_gems.rb
118
+ - lib/gems-status/sources/ruby_gems_gems_gem_simple.rb
119
+ - lib/gems-status/sources/obs_gems.rb
120
+ - lib/gems-status/html_view.rb
121
+ - lib/gems-status/checkers/print_gem_versions.rb
122
+ - lib/gems-status/checkers/not_native_gem_checker.rb
123
+ - lib/gems-status/checkers/svn_check_messages.rb
124
+ - lib/gems-status/checkers/scm_security_messages.rb
125
+ - lib/gems-status/checkers/scm_check_messages.rb
126
+ - lib/gems-status/checkers/git_check_messages.rb
127
+ - lib/gems-status/checkers/hg_check_messages.rb
128
+ - lib/gems-status/checkers/gem_checker.rb
129
+ - lib/gems-status/checkers/exists_in_upstream.rb
130
+ - lib/gems-status/checkers/not_rails_checker.rb
131
+ - lib/gems-status/checkers/not_a_security_alert_checker.rb
122
132
  - lib/gems-status/gems_composite_command.rb
123
- - lib/gems-status/scm_security_messages.rb
124
- - lib/gems-status/scm_check_messages.rb
125
- - lib/gems-status/git_check_messages.rb
133
+ - lib/gems-status/checkers.rb
126
134
  - lib/gems-status/gems_status_metadata.rb
127
- - lib/gems-status/hg_check_messages.rb
128
- - lib/gems-status/gem_checker.rb
129
- - lib/gems-status/exists_in_upstream.rb
130
- - lib/gems-status/not_rails_checker.rb
131
- - lib/gems-status/view_results.rb
132
- - lib/gems-status/obs_gems.rb
135
+ - lib/gems-status/sources.rb
133
136
  - lib/gems-status/gems_command.rb
134
- - lib/gems-status/not_a_security_alert_checker.rb
135
137
  - lib/gems-status/utils.rb
136
138
  - bin/gems-status
137
139
  - test/Gemfile.lock.test
@@ -144,7 +146,6 @@ files:
144
146
  - test/test-obs_gems.rb
145
147
  - test/Gemfile.lock
146
148
  - test/Gemfile
147
- - test/gem_graph.png
148
149
  homepage: http://github.com/jordimassaguerpla/gems-status
149
150
  licenses: []
150
151
 
@@ -174,7 +175,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
174
175
  requirements: []
175
176
 
176
177
  rubyforge_project:
177
- rubygems_version: 1.8.15
178
+ rubygems_version: 1.8.11
178
179
  signing_key:
179
180
  specification_version: 3
180
181
  summary: compares rubygems from different sources
Binary file