gems-status 0.23.0 → 0.25.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.
- data/lib/gems-status.rb +2 -5
- data/lib/gems-status/checkers.rb +11 -0
- data/lib/gems-status/{exists_in_upstream.rb → checkers/exists_in_upstream.rb} +1 -1
- data/lib/gems-status/{gem_checker.rb → checkers/gem_checker.rb} +0 -0
- data/lib/gems-status/{git_check_messages.rb → checkers/git_check_messages.rb} +5 -2
- data/lib/gems-status/{hg_check_messages.rb → checkers/hg_check_messages.rb} +1 -1
- data/lib/gems-status/{not_a_security_alert_checker.rb → checkers/not_a_security_alert_checker.rb} +11 -7
- data/lib/gems-status/{not_native_gem_checker.rb → checkers/not_native_gem_checker.rb} +1 -1
- data/lib/gems-status/{not_rails_checker.rb → checkers/not_rails_checker.rb} +1 -1
- data/lib/gems-status/{print_gem_versions.rb → checkers/print_gem_versions.rb} +0 -0
- data/lib/gems-status/{scm_check_messages.rb → checkers/scm_check_messages.rb} +0 -0
- data/lib/gems-status/{scm_security_messages.rb → checkers/scm_security_messages.rb} +0 -0
- data/lib/gems-status/{svn_check_messages.rb → checkers/svn_check_messages.rb} +1 -1
- data/lib/gems-status/gems_composite_command.rb +1 -6
- data/lib/gems-status/gems_status_metadata.rb +1 -1
- data/lib/gems-status/{view_results.rb → html_view.rb} +19 -15
- data/lib/gems-status/sources.rb +3 -0
- data/lib/gems-status/{lockfile_gems.rb → sources/lockfile_gems.rb} +1 -1
- data/lib/gems-status/{obs_gems.rb → sources/obs_gems.rb} +0 -0
- data/lib/gems-status/{ruby_gems_gems.rb → sources/ruby_gems_gems.rb} +1 -1
- data/lib/gems-status/{ruby_gems_gems_gem_simple.rb → sources/ruby_gems_gems_gem_simple.rb} +0 -0
- data/test/test-gems_command.rb +1 -1
- data/test/test-gems_composite_command.rb +1 -1
- data/test/test-lockfile_gems.rb +1 -1
- data/test/test-not_rails_checker.rb +6 -8
- data/test/test-obs_gems.rb +1 -1
- data/test/test-ruby_gems_gems.rb +1 -1
- data/test/test-utils.rb +1 -1
- metadata +23 -22
- data/test/gem_graph.png +0 -0
data/lib/gems-status.rb
CHANGED
@@ -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/
|
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
|
+
|
File without changes
|
@@ -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)
|
data/lib/gems-status/{not_a_security_alert_checker.rb → checkers/not_a_security_alert_checker.rb}
RENAMED
@@ -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
|
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
|
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
|
File without changes
|
File without changes
|
File without changes
|
@@ -1,11 +1,6 @@
|
|
1
1
|
require "gems-status/gem_simple"
|
2
2
|
require "gems-status/gems_command"
|
3
|
-
require "gems-status/
|
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)
|
@@ -2,12 +2,16 @@ require 'rubygems'
|
|
2
2
|
require 'gems-status/gems_status_metadata'
|
3
3
|
require 'gems-status/utils'
|
4
4
|
|
5
|
-
class
|
6
|
-
@@patched = []
|
7
|
-
@@outdated = []
|
8
|
-
@@up_to_date = []
|
5
|
+
class HTMLView
|
9
6
|
|
10
|
-
def
|
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
|
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
|
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
|
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
|
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
|
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
|
256
|
+
def print_tail(checker_results, comments)
|
253
257
|
puts "<h1>Others</h1>"
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
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>
|
File without changes
|
File without changes
|
data/test/test-gems_command.rb
CHANGED
data/test/test-lockfile_gems.rb
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
$:.unshift File.join(File.dirname(__FILE__), "..", "lib")
|
2
2
|
require 'rubygems'
|
3
3
|
require 'test/unit'
|
4
|
-
require '
|
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
|
data/test/test-obs_gems.rb
CHANGED
data/test/test-ruby_gems_gems.rb
CHANGED
data/test/test-utils.rb
CHANGED
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:
|
4
|
+
hash: 123
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
8
|
+
- 25
|
9
9
|
- 0
|
10
|
-
version: 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-
|
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/
|
118
|
-
- lib/gems-status/
|
119
|
-
- lib/gems-status/ruby_gems_gems_gem_simple.rb
|
120
|
-
- lib/gems-status/
|
121
|
-
- lib/gems-status/
|
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/
|
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/
|
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.
|
178
|
+
rubygems_version: 1.8.11
|
178
179
|
signing_key:
|
179
180
|
specification_version: 3
|
180
181
|
summary: compares rubygems from different sources
|
data/test/gem_graph.png
DELETED
Binary file
|