jruby-lint 0.3.0 → 0.3.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/Gemfile +2 -3
- data/History.txt +6 -0
- data/Rakefile +2 -2
- data/jruby-lint.gemspec +1 -1
- data/lib/jruby/lint/checkers/gemspec.rb +4 -0
- data/lib/jruby/lint/cli.rb +7 -0
- data/lib/jruby/lint/collectors.rb +1 -1
- data/lib/jruby/lint/project.rb +5 -1
- data/lib/jruby/lint/version.rb +1 -1
- data/spec/fixtures/C-Extension-Alternatives.html +192 -248
- data/spec/jruby/lint/cli_spec.rb +7 -0
- data/spec/jruby/lint/project_spec.rb +41 -35
- metadata +4 -6
data/Gemfile
CHANGED
@@ -3,10 +3,9 @@ source "http://rubygems.org"
|
|
3
3
|
# Specify your gem's dependencies in jruby-lint.gemspec
|
4
4
|
gemspec
|
5
5
|
|
6
|
-
|
7
|
-
gem 'childprocess', :git => "https://github.com/nicksieger/childprocess.git"
|
8
|
-
|
6
|
+
gem 'childprocess'
|
9
7
|
gem 'guard'
|
10
8
|
gem 'guard-rspec'
|
11
9
|
gem 'growl'
|
12
10
|
gem 'rb-fsevent'
|
11
|
+
gem 'rcov'
|
data/History.txt
CHANGED
data/Rakefile
CHANGED
@@ -13,8 +13,8 @@ require 'open-uri'
|
|
13
13
|
require 'net/https'
|
14
14
|
|
15
15
|
file "spec/fixtures/C-Extension-Alternatives.html" do |t|
|
16
|
-
require 'jruby/lint/
|
17
|
-
cache = JRuby::Lint::
|
16
|
+
require 'jruby/lint/libraries'
|
17
|
+
cache = JRuby::Lint::Libraries::Cache.new('spec/fixtures')
|
18
18
|
cache.fetch("C-Extension-Alternatives")
|
19
19
|
end
|
20
20
|
|
data/jruby-lint.gemspec
CHANGED
@@ -26,7 +26,7 @@ Gem::Specification.new do |s|
|
|
26
26
|
|
27
27
|
s.add_dependency "term-ansicolor"
|
28
28
|
s.add_dependency "jruby-openssl"
|
29
|
-
s.add_dependency "nokogiri", "
|
29
|
+
s.add_dependency "nokogiri", ">= 1.5.0.beta.4"
|
30
30
|
s.add_development_dependency "rake"
|
31
31
|
s.add_development_dependency "rspec", ">= 2.5"
|
32
32
|
s.add_development_dependency "rspec-given"
|
data/lib/jruby/lint/cli.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
module JRuby
|
2
2
|
module Lint
|
3
3
|
class CLI
|
4
|
+
attr_reader :options
|
5
|
+
|
4
6
|
def initialize(args)
|
5
7
|
process_options(args)
|
6
8
|
end
|
@@ -23,6 +25,11 @@ module JRuby
|
|
23
25
|
@options.eval << v
|
24
26
|
end
|
25
27
|
|
28
|
+
opts.on("-t", "--tag TAG", "Report findings tagged with TAG") do |v|
|
29
|
+
@options.tags ||= []
|
30
|
+
@options.tags << v
|
31
|
+
end
|
32
|
+
|
26
33
|
opts.on('--text', 'print report as text') do
|
27
34
|
@options.text = true
|
28
35
|
end
|
@@ -26,7 +26,7 @@ module JRuby::Lint
|
|
26
26
|
after_hooks << res if res.respond_to?(:call)
|
27
27
|
end
|
28
28
|
rescue => e
|
29
|
-
ch.collector.findings << Finding.new("Exception while traversing: #{e.message}",
|
29
|
+
ch.collector.findings << Finding.new("Exception while traversing: #{e.message}\n at #{e.backtrace.first}",
|
30
30
|
[:internal, :debug], node.position)
|
31
31
|
end
|
32
32
|
end
|
data/lib/jruby/lint/project.rb
CHANGED
@@ -8,7 +8,7 @@ module JRuby::Lint
|
|
8
8
|
attr_reader :collectors, :reporters, :findings, :files, :tags, :libraries
|
9
9
|
|
10
10
|
def initialize(options = OpenStruct.new)
|
11
|
-
@tags = DEFAULT_TAGS
|
11
|
+
@tags = DEFAULT_TAGS.dup
|
12
12
|
@collectors = []
|
13
13
|
@files = Set.new
|
14
14
|
|
@@ -17,6 +17,10 @@ module JRuby::Lint
|
|
17
17
|
@files += @collectors
|
18
18
|
end
|
19
19
|
|
20
|
+
if options.tags
|
21
|
+
@tags += options.tags
|
22
|
+
end
|
23
|
+
|
20
24
|
@sources = options.files || (options.eval ? [] : Dir['./**/*'])
|
21
25
|
load_collectors
|
22
26
|
load_reporters(options)
|
data/lib/jruby/lint/version.rb
CHANGED
@@ -1,207 +1,131 @@
|
|
1
1
|
|
2
|
-
|
3
2
|
|
4
|
-
|
5
3
|
|
6
4
|
<!DOCTYPE html>
|
7
5
|
<html>
|
8
6
|
<head>
|
9
7
|
<meta charset='utf-8'>
|
10
8
|
<meta http-equiv="X-UA-Compatible" content="chrome=1">
|
11
|
-
<script type="text/javascript">var NREUMQ=[];NREUMQ.push(["mark","firstbyte",new Date().getTime()]);</script>
|
12
9
|
<title>C Extension Alternatives - GitHub</title>
|
13
10
|
<link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub" />
|
14
11
|
<link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub" />
|
15
12
|
|
16
|
-
|
13
|
+
|
17
14
|
|
18
15
|
|
19
|
-
<
|
20
|
-
|
21
|
-
console = { log: function() {} }
|
22
|
-
</script>
|
23
|
-
<script type="text/javascript" charset="utf-8">
|
24
|
-
var GitHub = {
|
25
|
-
assetHost: 'https://a248.e.akamai.net/assets.github.com'
|
26
|
-
}
|
27
|
-
var github_user = null
|
28
|
-
|
29
|
-
</script>
|
30
|
-
<script src="https://a248.e.akamai.net/assets.github.com/javascripts/jquery/jquery-1.6.1.min.js" type="text/javascript"></script>
|
31
|
-
<script src="https://a248.e.akamai.net/assets.github.com/9a8d4d0be567a85129ca26f93f40eb76dcc8bfbb/javascripts/bundle_github.js" type="text/javascript"></script>
|
32
|
-
|
16
|
+
<meta content="authenticity_token" name="csrf-param" />
|
17
|
+
<meta content="8F14SYHdCaD2YBGDyw5eoTwEG/KLI7r6UW/uWiXNu+8=" name="csrf-token" />
|
33
18
|
|
19
|
+
<link href="https://a248.e.akamai.net/assets.github.com/stylesheets/bundles/github-9f2d0baa85681676c70f58b960aa88c4e806e346.css" media="screen" rel="stylesheet" type="text/css" />
|
34
20
|
|
35
|
-
<script type="text/javascript" charset="utf-8">
|
36
|
-
GitHub.spy({
|
37
|
-
repo: "jruby/jruby"
|
38
|
-
})
|
39
|
-
</script>
|
40
21
|
|
22
|
+
<script src="https://a248.e.akamai.net/assets.github.com/javascripts/bundles/jquery-2bdf48207f435863de9c5786265d27d992c7f6c0.js" type="text/javascript"></script>
|
23
|
+
<script src="https://a248.e.akamai.net/assets.github.com/javascripts/bundles/github-826c6f1fd72f47fab15f6fc2a01e5fb90daa9d56.js" type="text/javascript"></script>
|
41
24
|
|
42
|
-
<link href="https://github.com/jruby/jruby/commits/master.atom" rel="alternate" title="Recent Commits to jruby:master" type="application/atom+xml" />
|
43
|
-
<script src="https://a248.e.akamai.net/assets.github.com/9efa4f408d844eccca76d5687e85d5b519597f1f/javascripts/bundle_wiki.js" type="text/javascript"></script>
|
44
|
-
|
45
|
-
<script src="/javascripts/other/MathJax/MathJax.js" type="text/javascript">
|
46
|
-
if (window.location.protocol == "https:") {
|
47
|
-
MathJax.OutputJax.fontDir = "https://" + document.location.host + "/assets/MathJax/fonts"
|
48
|
-
} else {
|
49
|
-
MathJax.OutputJax.fontDir = "http://" + document.location.host + "/assets/MathJax/fonts"
|
50
|
-
}
|
51
|
-
MathJax.Hub.Config({
|
52
|
-
jax: ["input/TeX", "output/HTML-CSS"]
|
53
|
-
})
|
54
|
-
</script>
|
55
|
-
|
56
|
-
<meta name="description" content="jruby - JRuby, an implementation of Ruby on the JVM" />
|
57
|
-
<script type="text/javascript">
|
58
|
-
GitHub.nameWithOwner = GitHub.nameWithOwner || "jruby/jruby";
|
59
|
-
GitHub.currentRef = 'master';
|
60
|
-
GitHub.commitSHA = "24aad97afc34e25047c06298ea0f2559f90c14d2";
|
61
|
-
GitHub.currentPath = '';
|
62
|
-
GitHub.masterBranch = "master";
|
63
25
|
|
64
|
-
|
65
|
-
</script>
|
66
|
-
|
26
|
+
<script src="https://a248.e.akamai.net/assets.github.com/javascripts/bundles/wiki-a1e5edfd890a8f8d6e382865bd946f2f26bb3063.js" type="text/javascript"></script>
|
67
27
|
|
68
|
-
|
69
|
-
|
70
|
-
_gaq.push(['_setAccount', 'UA-3769691-2']);
|
71
|
-
_gaq.push(['_setDomainName', 'none']);
|
72
|
-
_gaq.push(['_trackPageview']);
|
73
|
-
_gaq.push(['_trackPageLoadTime']);
|
74
|
-
(function() {
|
75
|
-
var ga = document.createElement('script');
|
76
|
-
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
77
|
-
ga.setAttribute('async', 'true');
|
78
|
-
document.documentElement.firstChild.appendChild(ga);
|
79
|
-
})();
|
80
|
-
</script>
|
28
|
+
<meta name="description" content="jruby - JRuby, an implementation of Ruby on the JVM" />
|
29
|
+
<link href="https://github.com/jruby/jruby/commits/master.atom" rel="alternate" title="Recent Commits to jruby:master" type="application/atom+xml" />
|
81
30
|
|
82
|
-
|
83
31
|
</head>
|
84
32
|
|
85
|
-
|
86
33
|
|
87
|
-
<body class="logged_out
|
34
|
+
<body class="logged_out env-production ">
|
88
35
|
|
89
36
|
|
90
|
-
|
91
37
|
|
92
38
|
|
93
39
|
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
<img alt="
|
100
|
-
|
101
|
-
<img alt="
|
102
|
-
|
40
|
+
<div id="header" class="true clearfix">
|
41
|
+
<div class="container clearfix">
|
42
|
+
<a class="site-logo" href="https://github.com">
|
43
|
+
<!--[if IE]>
|
44
|
+
<img alt="GitHub" class="github-logo" src="https://a248.e.akamai.net/assets.github.com/images/modules/header/logov7.png?1323882799" />
|
45
|
+
<img alt="GitHub" class="github-logo-hover" src="https://a248.e.akamai.net/assets.github.com/images/modules/header/logov7-hover.png?1324325436" />
|
46
|
+
<![endif]-->
|
47
|
+
<img alt="GitHub" class="github-logo-4x" height="30" src="https://a248.e.akamai.net/assets.github.com/images/modules/header/logov7@4x.png?1323882799" />
|
48
|
+
<img alt="GitHub" class="github-logo-4x-hover" height="30" src="https://a248.e.akamai.net/assets.github.com/images/modules/header/logov7@4x-hover.png?1324325436" />
|
103
49
|
</a>
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
<li class="
|
113
|
-
|
114
|
-
|
115
|
-
<li class="blog"><a href="/blog">Blog</a></li>
|
116
|
-
|
117
|
-
<li class="login"><a href="/login?return_to=%2Fjruby%2Fjruby%2Fwiki%2FC-Extension-Alternatives">Login</a></li>
|
50
|
+
|
51
|
+
<!--
|
52
|
+
make sure to use fully qualified URLs here since this nav
|
53
|
+
is used on error pages on other domains
|
54
|
+
-->
|
55
|
+
<ul class="top-nav logged_out">
|
56
|
+
<li class="pricing"><a href="https://github.com/plans">Signup and Pricing</a></li>
|
57
|
+
<li class="explore"><a href="https://github.com/explore">Explore GitHub</a></li>
|
58
|
+
<li class="features"><a href="https://github.com/features">Features</a></li>
|
59
|
+
<li class="blog"><a href="https://github.com/blog">Blog</a></li>
|
60
|
+
<li class="login"><a href="https://github.com/login?return_to=%2Fjruby%2Fjruby%2Fwiki%2FC-Extension-Alternatives">Login</a></li>
|
118
61
|
</ul>
|
119
|
-
|
120
|
-
</div>
|
121
62
|
|
63
|
+
|
64
|
+
|
65
|
+
|
66
|
+
</div>
|
122
67
|
</div>
|
123
68
|
|
124
69
|
|
125
|
-
|
126
|
-
|
127
|
-
<div class="site">
|
128
|
-
<div class="pagehead repohead vis-public emptyrepohead shortdetails instapaper_ignore readability-menu">
|
129
70
|
|
130
|
-
|
71
|
+
<div class="site">
|
72
|
+
<div class="container">
|
73
|
+
<div class="pagehead repohead instapaper_ignore readability-menu">
|
131
74
|
|
132
|
-
|
133
|
-
<
|
134
|
-
<
|
135
|
-
|
75
|
+
|
76
|
+
<div class="title-actions-bar">
|
77
|
+
<h1>
|
78
|
+
<a href="/jruby">jruby</a> /
|
79
|
+
<strong><a href="/jruby/jruby" class="js-current-repository">jruby</a></strong>
|
80
|
+
</h1>
|
136
81
|
|
137
|
-
</h1>
|
138
82
|
|
139
|
-
|
140
|
-
<ul class="actions">
|
141
|
-
|
142
83
|
|
143
|
-
|
144
|
-
<li class="for-owner" style="display:none"><a href="/jruby/jruby/admin" class="minibutton btn-admin "><span><span class="icon"></span>Admin</span></a></li>
|
145
|
-
<li>
|
146
|
-
<a href="/jruby/jruby/toggle_watch" class="minibutton btn-watch " id="watch_button" onclick="var f = document.createElement('form'); f.style.display = 'none'; this.parentNode.appendChild(f); f.method = 'POST'; f.action = this.href;var s = document.createElement('input'); s.setAttribute('type', 'hidden'); s.setAttribute('name', 'authenticity_token'); s.setAttribute('value', 'a12af8eb75d6148a6d430d76ce52736db893dd3d'); f.appendChild(s);f.submit();return false;" style="display:none"><span><span class="icon"></span>Watch</span></a>
|
147
|
-
<a href="/jruby/jruby/toggle_watch" class="minibutton btn-watch " id="unwatch_button" onclick="var f = document.createElement('form'); f.style.display = 'none'; this.parentNode.appendChild(f); f.method = 'POST'; f.action = this.href;var s = document.createElement('input'); s.setAttribute('type', 'hidden'); s.setAttribute('name', 'authenticity_token'); s.setAttribute('value', 'a12af8eb75d6148a6d430d76ce52736db893dd3d'); f.appendChild(s);f.submit();return false;" style="display:none"><span><span class="icon"></span>Unwatch</span></a>
|
148
|
-
</li>
|
149
|
-
|
150
|
-
|
151
|
-
<li class="for-notforked" style="display:none"><a href="/jruby/jruby/fork" class="minibutton btn-fork " id="fork_button" onclick="var f = document.createElement('form'); f.style.display = 'none'; this.parentNode.appendChild(f); f.method = 'POST'; f.action = this.href;var s = document.createElement('input'); s.setAttribute('type', 'hidden'); s.setAttribute('name', 'authenticity_token'); s.setAttribute('value', 'a12af8eb75d6148a6d430d76ce52736db893dd3d'); f.appendChild(s);f.submit();return false;"><span><span class="icon"></span>Fork</span></a></li>
|
152
|
-
<li class="for-hasfork" style="display:none"><a href="#" class="minibutton btn-fork " id="your_fork_button"><span><span class="icon"></span>Your Fork</span></a></li>
|
153
|
-
|
154
84
|
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
85
|
+
<ul class="pagehead-actions">
|
86
|
+
|
87
|
+
|
88
|
+
<li><a href="/login?return_to=%2Fjruby%2Fjruby" class="minibutton btn-watch watch-button entice tooltipped leftwards" rel="nofollow" title="You must be logged in to use this feature"><span><span class="icon"></span>Watch</span></a></li>
|
89
|
+
<li><a href="/login?return_to=%2Fjruby%2Fjruby" class="minibutton btn-fork fork-button entice tooltipped leftwards" rel="nofollow" title="You must be logged in to use this feature"><span><span class="icon"></span>Fork</span></a></li>
|
90
|
+
|
91
|
+
|
159
92
|
<li class="repostats">
|
160
93
|
<ul class="repo-stats">
|
161
|
-
<li class="watchers
|
162
|
-
|
94
|
+
<li class="watchers ">
|
95
|
+
<a href="/jruby/jruby/watchers" title="Watchers" class="tooltipped downwards">
|
96
|
+
764
|
97
|
+
</a>
|
98
|
+
</li>
|
99
|
+
<li class="forks">
|
100
|
+
<a href="/jruby/jruby/network" title="Forks" class="tooltipped downwards">
|
101
|
+
163
|
102
|
+
</a>
|
103
|
+
</li>
|
163
104
|
</ul>
|
164
105
|
</li>
|
165
106
|
</ul>
|
166
107
|
|
167
|
-
|
108
|
+
</div>
|
109
|
+
|
110
|
+
|
168
111
|
|
169
|
-
|
170
112
|
<ul class="tabs">
|
171
|
-
<li><a href="/jruby/jruby" highlight="
|
172
|
-
<li><a href="/jruby/jruby/
|
173
|
-
<li><a href="/jruby/jruby/
|
174
|
-
<li><a href="/jruby/jruby/pulls" highlight="repo_pulls">Pull Requests (5)</a></li>
|
113
|
+
<li><a href="/jruby/jruby" highlight="repo_sourcerepo_downloadsrepo_commitsrepo_tagsrepo_branches">Code</a></li>
|
114
|
+
<li><a href="/jruby/jruby/network" highlight="repo_networkrepo_fork_queue">Network</a>
|
115
|
+
<li><a href="/jruby/jruby/pulls" highlight="repo_pulls">Pull Requests <span class='counter'>2</span></a></li>
|
175
116
|
|
176
|
-
|
177
117
|
|
178
|
-
|
118
|
+
<li><a href="/jruby/jruby/wiki" class="selected" highlight="repo_wiki">Wiki <span class='counter'>132</span></a></li>
|
179
119
|
|
180
|
-
|
181
|
-
|
182
|
-
<li><a href="/jruby/jruby/graphs" highlight="repo_graphs">Graphs</a></li>
|
120
|
+
<li><a href="/jruby/jruby/graphs" highlight="repo_graphsrepo_contributors">Stats & Graphs</a></li>
|
183
121
|
|
184
|
-
|
185
|
-
|
186
|
-
<li class="contextswitch nochoices">
|
187
|
-
<span class="toggle leftwards" >
|
188
|
-
<em>Branch:</em>
|
189
|
-
<code>master</code>
|
190
|
-
</span>
|
191
|
-
</li>
|
192
122
|
</ul>
|
193
123
|
|
194
|
-
<div style="display:none" id="pl-description"><p><em class="placeholder">click here to add a description</em></p></div>
|
195
|
-
<div style="display:none" id="pl-homepage"><p><em class="placeholder">click here to add a homepage</em></p></div>
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
124
|
|
201
125
|
|
202
126
|
|
203
127
|
<div class="subnav-bar">
|
204
|
-
<ul>
|
128
|
+
<ul class="subnav">
|
205
129
|
<li><a href="/jruby/jruby/wiki">Home</a></li>
|
206
130
|
<li><a href="/jruby/jruby/wiki/_pages">Pages</a></li>
|
207
131
|
<li><a href="/jruby/jruby/wiki/_history">Wiki History</a></li>
|
@@ -210,47 +134,20 @@
|
|
210
134
|
</div>
|
211
135
|
|
212
136
|
|
137
|
+
|
213
138
|
|
214
|
-
|
139
|
+
</div><!-- /.repohead -->
|
215
140
|
|
216
141
|
|
217
142
|
|
218
|
-
</div><!-- /.pagehead -->
|
219
143
|
|
220
|
-
|
221
|
-
|
222
|
-
<div id="repos">
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
<script type="text/javascript">
|
227
|
-
GitHub.downloadRepo = '/jruby/jruby/archives/master'
|
228
|
-
GitHub.revType = "master"
|
229
|
-
|
230
|
-
GitHub.repoName = "jruby"
|
231
|
-
GitHub.controllerName = "wiki"
|
232
|
-
GitHub.actionName = "show"
|
233
|
-
GitHub.currentAction = "wiki#show"
|
234
|
-
|
235
|
-
|
236
|
-
GitHub.loggedIn = false
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
</script>
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
</div>
|
246
|
-
<div class="flash-messages"></div>
|
247
144
|
|
248
145
|
|
249
146
|
<div id="wiki-wrapper" class="page">
|
250
147
|
<div id="head">
|
251
148
|
<h1 class="instapaper_title">C Extension Alternatives</h1>
|
252
|
-
<ul class="actions readability-extra">
|
253
|
-
|
149
|
+
<ul class="wiki-actions readability-extra">
|
150
|
+
<li class="gollum-minibutton"><a href="/jruby/jruby/wiki/C-Extension-Alternatives/_history"
|
254
151
|
class="action-page-history">
|
255
152
|
Page History
|
256
153
|
</a></li>
|
@@ -259,7 +156,7 @@
|
|
259
156
|
<div id="wiki-content">
|
260
157
|
<div class="wrap">
|
261
158
|
<div id="wiki-body" class="gollum-markdown-content instapaper_body">
|
262
|
-
<div
|
159
|
+
<div class="markdown-body">
|
263
160
|
<p>JRuby versions prior to 1.6 did not support Ruby C extensions, and even in 1.6 the support is still "in development" and considered experimental. This page lists common C extensions and non-C alternatives you can use to replace them.</p>
|
264
161
|
|
265
162
|
<ul>
|
@@ -275,67 +172,101 @@
|
|
275
172
|
<li><p><strong><a href="https://github.com/brianmario/yajl-ruby">yajl-ruby</a></strong> - Try <code>json</code> or <code>json_pure</code> instead. Unfortunately there is no known equivalent JSON stream parser.</p></li>
|
276
173
|
<li><p><strong><a href="https://github.com/mongodb/mongo-ruby-driver">bson_ext</a></strong> - <code>bson_ext</code> isn't used with JRuby. Instead, some native Java extensions are bundled with the <code>bson</code> gem.</p></li>
|
277
174
|
<li><p><strong><a href="http://www.ruby-doc.org/stdlib/libdoc/win32ole/rdoc/index.html">win32ole</a></strong> - Use the <code>jruby-win32ole</code> gem (preinstalled in JRuby's Windows installer).</p></li>
|
175
|
+
<li><p><strong><a href="http://curb.rubyforge.org/">curb</a></strong> - <a href="https://github.com/rcyrus/Rurl">Rurl</a> is an example how to implement <em>some</em> of curb's functionality using <a href="http://hc.apache.org/httpcomponents-client-ga/">Apache HttpClient</a></p></li>
|
176
|
+
<li><p><strong><a href="https://github.com/cowboyd/therubyracer">therubyracer</a></strong> - Try using <a href="https://github.com/cowboyd/therubyrhino">therubyrhino</a> instead.</p></li>
|
278
177
|
</ul><p>Please add to this list with your findings.</p>
|
279
178
|
|
280
179
|
<p><em>Note that the <a href="https://github.com/jruby/jruby-lint">JRuby-Lint</a> gem parses the contents of the list above to use for its Ruby gem checker. In order for JRuby-Lint to use the information, please adhere to the <code>gem_name - instructions</code> format.</em></p>
|
281
180
|
</div>
|
282
181
|
</div>
|
283
|
-
|
284
|
-
|
285
182
|
</div>
|
286
183
|
|
287
184
|
</div>
|
288
185
|
<div id="gollum-footer">
|
289
186
|
<p id="last-edit">
|
290
|
-
|
291
|
-
</p>
|
292
|
-
<p id="delete-link">
|
293
|
-
<a href="/jruby/jruby/wiki/C-Extension-Alternatives" onclick="if (confirm('Are you sure you want to delete this page?')) { var f = document.createElement('form'); f.style.display = 'none'; this.parentNode.appendChild(f); f.method = 'POST'; f.action = this.href;var m = document.createElement('input'); m.setAttribute('type', 'hidden'); m.setAttribute('name', '_method'); m.setAttribute('value', 'delete'); f.appendChild(m);var s = document.createElement('input'); s.setAttribute('type', 'hidden'); s.setAttribute('name', 'authenticity_token'); s.setAttribute('value', 'a12af8eb75d6148a6d430d76ce52736db893dd3d'); f.appendChild(s);f.submit(); };return false;"><span>Delete this Page</span></a>
|
187
|
+
Last edited by declan, <time class="js-relative-date" datetime="2011-12-25T13:19:15-08:00" title="2011-12-25 13:19:15">December 25, 2011</time>
|
294
188
|
</p>
|
295
189
|
</div>
|
296
190
|
</div>
|
297
191
|
|
298
192
|
|
299
|
-
|
300
|
-
|
301
|
-
|
193
|
+
</div>
|
302
194
|
</div>
|
303
195
|
|
304
|
-
<div id="footer" class="clearfix">
|
305
|
-
<div class="site">
|
306
|
-
|
307
|
-
<div class="sponsor">
|
308
|
-
<a href="http://www.rackspace.com" class="logo">
|
309
|
-
<img alt="Dedicated Server" height="36" src="https://a248.e.akamai.net/assets.github.com/images/modules/footer/rackspace_logo.png?v2" width="38" />
|
310
|
-
</a>
|
311
|
-
Powered by the <a href="http://www.rackspace.com ">Dedicated
|
312
|
-
Servers</a> and<br/> <a href="http://www.rackspacecloud.com">Cloud
|
313
|
-
Computing</a> of Rackspace Hosting<span>®</span>
|
314
|
-
</div>
|
315
|
-
|
316
196
|
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
197
|
+
<!-- footer -->
|
198
|
+
<div id="footer" >
|
199
|
+
|
200
|
+
<div class="upper_footer">
|
201
|
+
<div class="container clearfix">
|
202
|
+
|
203
|
+
<!--[if IE]><h4 id="blacktocat_ie">GitHub Links</h4><![endif]-->
|
204
|
+
<![if !IE]><h4 id="blacktocat">GitHub Links</h4><![endif]>
|
205
|
+
|
206
|
+
<ul class="footer_nav">
|
207
|
+
<h4>GitHub</h4>
|
208
|
+
<li><a href="https://github.com/about">About</a></li>
|
209
|
+
<li><a href="https://github.com/blog">Blog</a></li>
|
210
|
+
<li><a href="https://github.com/features">Features</a></li>
|
211
|
+
<li><a href="https://github.com/contact">Contact & Support</a></li>
|
212
|
+
<li><a href="https://github.com/training">Training</a></li>
|
213
|
+
<li><a href="http://enterprise.github.com/">GitHub Enterprise</a></li>
|
214
|
+
<li><a href="http://status.github.com/">Site Status</a></li>
|
215
|
+
</ul>
|
216
|
+
|
217
|
+
<ul class="footer_nav">
|
218
|
+
<h4>Tools</h4>
|
219
|
+
<li><a href="http://get.gaug.es/">Gauges: Analyze web traffic</a></li>
|
220
|
+
<li><a href="http://speakerdeck.com">Speaker Deck: Presentations</a></li>
|
221
|
+
<li><a href="https://gist.github.com">Gist: Code snippets</a></li>
|
222
|
+
<li><a href="http://mac.github.com/">GitHub for Mac</a></li>
|
223
|
+
<li><a href="http://mobile.github.com/">Issues for iPhone</a></li>
|
224
|
+
<li><a href="http://jobs.github.com/">Job Board</a></li>
|
225
|
+
</ul>
|
226
|
+
|
227
|
+
<ul class="footer_nav">
|
228
|
+
<h4>Extras</h4>
|
229
|
+
<li><a href="http://shop.github.com/">GitHub Shop</a></li>
|
230
|
+
<li><a href="http://octodex.github.com/">The Octodex</a></li>
|
231
|
+
</ul>
|
232
|
+
|
233
|
+
<ul class="footer_nav">
|
234
|
+
<h4>Documentation</h4>
|
235
|
+
<li><a href="http://help.github.com/">GitHub Help</a></li>
|
236
|
+
<li><a href="http://developer.github.com/">Developer API</a></li>
|
237
|
+
<li><a href="http://github.github.com/github-flavored-markdown/">GitHub Flavored Markdown</a></li>
|
238
|
+
<li><a href="http://pages.github.com/">GitHub Pages</a></li>
|
239
|
+
</ul>
|
240
|
+
|
241
|
+
</div><!-- /.site -->
|
242
|
+
</div><!-- /.upper_footer -->
|
243
|
+
|
244
|
+
<div class="lower_footer">
|
245
|
+
<div class="container clearfix">
|
246
|
+
<!--[if IE]><div id="legal_ie"><![endif]-->
|
247
|
+
<![if !IE]><div id="legal"><![endif]>
|
248
|
+
<ul>
|
249
|
+
<li><a href="https://github.com/site/terms">Terms of Service</a></li>
|
250
|
+
<li><a href="https://github.com/site/privacy">Privacy</a></li>
|
333
251
|
<li><a href="https://github.com/security">Security</a></li>
|
334
|
-
|
252
|
+
</ul>
|
253
|
+
|
254
|
+
<p>© 2012 <span id="_rrt" title="0.07729s from fe3.rs.github.com">GitHub</span> Inc. All rights reserved.</p>
|
255
|
+
</div><!-- /#legal or /#legal_ie-->
|
256
|
+
|
257
|
+
<div class="sponsor">
|
258
|
+
<a href="http://www.rackspace.com" class="logo">
|
259
|
+
<img alt="Dedicated Server" height="36" src="https://a248.e.akamai.net/assets.github.com/images/modules/footer/rackspace_logo.png?v2" width="38" />
|
260
|
+
</a>
|
261
|
+
Powered by the <a href="http://www.rackspace.com ">Dedicated
|
262
|
+
Servers</a> and<br/> <a href="http://www.rackspacecloud.com">Cloud
|
263
|
+
Computing</a> of Rackspace Hosting<span>®</span>
|
335
264
|
</div>
|
336
|
-
|
265
|
+
</div><!-- /.site -->
|
266
|
+
</div><!-- /.lower_footer -->
|
267
|
+
|
268
|
+
</div><!-- /#footer -->
|
337
269
|
|
338
|
-
<script>window._auth_token = "a12af8eb75d6148a6d430d76ce52736db893dd3d"</script>
|
339
270
|
|
340
271
|
|
341
272
|
<div id="keyboard_shortcuts_pane" class="instapaper_ignore readability-extra" style="display:none">
|
@@ -358,19 +289,11 @@
|
|
358
289
|
<h3>Commit list</h3>
|
359
290
|
<dl class="keyboard-mappings">
|
360
291
|
<dt>j</dt>
|
361
|
-
<dd>Move
|
292
|
+
<dd>Move selection down</dd>
|
362
293
|
</dl>
|
363
294
|
<dl class="keyboard-mappings">
|
364
295
|
<dt>k</dt>
|
365
|
-
<dd>Move
|
366
|
-
</dl>
|
367
|
-
<dl class="keyboard-mappings">
|
368
|
-
<dt>t</dt>
|
369
|
-
<dd>Open tree</dd>
|
370
|
-
</dl>
|
371
|
-
<dl class="keyboard-mappings">
|
372
|
-
<dt>p</dt>
|
373
|
-
<dd>Open parent</dd>
|
296
|
+
<dd>Move selection up</dd>
|
374
297
|
</dl>
|
375
298
|
<dl class="keyboard-mappings">
|
376
299
|
<dt>c <em>or</em> o <em>or</em> enter</dt>
|
@@ -386,11 +309,11 @@
|
|
386
309
|
<h3>Pull request list</h3>
|
387
310
|
<dl class="keyboard-mappings">
|
388
311
|
<dt>j</dt>
|
389
|
-
<dd>Move
|
312
|
+
<dd>Move selection down</dd>
|
390
313
|
</dl>
|
391
314
|
<dl class="keyboard-mappings">
|
392
315
|
<dt>k</dt>
|
393
|
-
<dd>Move
|
316
|
+
<dd>Move selection up</dd>
|
394
317
|
</dl>
|
395
318
|
<dl class="keyboard-mappings">
|
396
319
|
<dt>o <em>or</em> enter</dt>
|
@@ -409,15 +332,15 @@
|
|
409
332
|
<div class="column first">
|
410
333
|
<dl class="keyboard-mappings">
|
411
334
|
<dt>j</dt>
|
412
|
-
<dd>Move
|
335
|
+
<dd>Move selection down</dd>
|
413
336
|
</dl>
|
414
337
|
<dl class="keyboard-mappings">
|
415
338
|
<dt>k</dt>
|
416
|
-
<dd>Move
|
339
|
+
<dd>Move selection up</dd>
|
417
340
|
</dl>
|
418
341
|
<dl class="keyboard-mappings">
|
419
342
|
<dt>x</dt>
|
420
|
-
<dd>Toggle
|
343
|
+
<dd>Toggle selection</dd>
|
421
344
|
</dl>
|
422
345
|
<dl class="keyboard-mappings">
|
423
346
|
<dt>o <em>or</em> enter</dt>
|
@@ -427,19 +350,19 @@
|
|
427
350
|
<div class="column middle">
|
428
351
|
<dl class="keyboard-mappings">
|
429
352
|
<dt>I</dt>
|
430
|
-
<dd>Mark
|
353
|
+
<dd>Mark selection as read</dd>
|
431
354
|
</dl>
|
432
355
|
<dl class="keyboard-mappings">
|
433
356
|
<dt>U</dt>
|
434
|
-
<dd>Mark
|
357
|
+
<dd>Mark selection as unread</dd>
|
435
358
|
</dl>
|
436
359
|
<dl class="keyboard-mappings">
|
437
360
|
<dt>e</dt>
|
438
|
-
<dd>Close
|
361
|
+
<dd>Close selection</dd>
|
439
362
|
</dl>
|
440
363
|
<dl class="keyboard-mappings">
|
441
364
|
<dt>y</dt>
|
442
|
-
<dd>Remove
|
365
|
+
<dd>Remove selection from view</dd>
|
443
366
|
</dl>
|
444
367
|
</div><!-- /.column.middle -->
|
445
368
|
<div class="column last">
|
@@ -467,6 +390,29 @@
|
|
467
390
|
</div>
|
468
391
|
</div>
|
469
392
|
|
393
|
+
<div style='display:none'>
|
394
|
+
<div class="rule"></div>
|
395
|
+
|
396
|
+
<h3>Issues Dashboard</h3>
|
397
|
+
|
398
|
+
<div class="columns threecols">
|
399
|
+
<div class="column first">
|
400
|
+
<dl class="keyboard-mappings">
|
401
|
+
<dt>j</dt>
|
402
|
+
<dd>Move selection down</dd>
|
403
|
+
</dl>
|
404
|
+
<dl class="keyboard-mappings">
|
405
|
+
<dt>k</dt>
|
406
|
+
<dd>Move selection up</dd>
|
407
|
+
</dl>
|
408
|
+
<dl class="keyboard-mappings">
|
409
|
+
<dt>o <em>or</em> enter</dt>
|
410
|
+
<dd>Open issue</dd>
|
411
|
+
</dl>
|
412
|
+
</div><!-- /.column.first -->
|
413
|
+
</div>
|
414
|
+
</div>
|
415
|
+
|
470
416
|
<div style='display:none'>
|
471
417
|
<div class="rule"></div>
|
472
418
|
|
@@ -528,6 +474,10 @@
|
|
528
474
|
<dt>l</dt>
|
529
475
|
<dd>Jump to line</dd>
|
530
476
|
</dl>
|
477
|
+
<dl class="keyboard-mappings">
|
478
|
+
<dt>w</dt>
|
479
|
+
<dd>Switch branch/tag</dd>
|
480
|
+
</dl>
|
531
481
|
<dl class="keyboard-mappings">
|
532
482
|
<dt>y</dt>
|
533
483
|
<dd>Expand URL to its canonical form</dd>
|
@@ -590,6 +540,7 @@ http://github.com - automatic!
|
|
590
540
|
<p>Blockquotes</p>
|
591
541
|
<pre>
|
592
542
|
As Kanye West said:
|
543
|
+
|
593
544
|
> We're living the future so
|
594
545
|
> the present is our past.
|
595
546
|
</pre>
|
@@ -629,24 +580,17 @@ I think you should use an
|
|
629
580
|
|
630
581
|
</div>
|
631
582
|
</div>
|
632
|
-
|
633
583
|
|
634
|
-
<!--[if IE 8]>
|
635
|
-
<script type="text/javascript" charset="utf-8">
|
636
|
-
$(document.body).addClass("ie8")
|
637
|
-
</script>
|
638
|
-
<![endif]-->
|
639
584
|
|
640
|
-
|
641
|
-
|
642
|
-
|
643
|
-
|
644
|
-
|
585
|
+
<div class="context-overlay"></div>
|
586
|
+
|
587
|
+
<div class="ajax-error-message">
|
588
|
+
<p><span class="icon"></span> Something went wrong with that request. Please try again. <a href="javascript:;" class="ajax-error-dismiss">Dismiss</a></p>
|
589
|
+
</div>
|
645
590
|
|
646
591
|
|
647
592
|
|
648
593
|
|
649
|
-
<script type="text/javascript">(function(){var d=document;var e=d.createElement("script");e.async=true;e.src="https://d1ros97qkrwjf5.cloudfront.net/14/eum/rum.js ";e.type="text/javascript";var s=d.getElementsByTagName("script")[0];s.parentNode.insertBefore(e,s);})();NREUMQ.push(["nrf2","beacon-1.newrelic.com","2f94e4d8c2",64799,"dw1bEBZcX1RWRhoRD18LGhcMXEQ=",0.0,118,new Date().getTime()])</script>
|
650
594
|
</body>
|
651
595
|
</html>
|
652
596
|
|
data/spec/jruby/lint/cli_spec.rb
CHANGED
@@ -2,6 +2,13 @@ require File.expand_path('../../../spec_helper', __FILE__)
|
|
2
2
|
require 'jruby/lint/cli'
|
3
3
|
|
4
4
|
describe JRuby::Lint::CLI do
|
5
|
+
context "with the tag option" do
|
6
|
+
Given(:cli) { JRuby::Lint::CLI.new(args) }
|
7
|
+
Given(:args) { ["--tag", "debug"]}
|
8
|
+
When { cli }
|
9
|
+
Then { cli.options.tags.should include("debug") }
|
10
|
+
end
|
11
|
+
|
5
12
|
context "when launched" do
|
6
13
|
Given(:command) { "ruby -I#{project_dir}/lib -S #{project_dir}/bin/jrlint #{args}" }
|
7
14
|
|
@@ -80,47 +80,53 @@ describe JRuby::Lint::Project do
|
|
80
80
|
Then { project.run }
|
81
81
|
end
|
82
82
|
|
83
|
-
context '
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
83
|
+
context 'initializing' do
|
84
|
+
Given(:options) { OpenStruct.new }
|
85
|
+
Given(:project) { in_current_dir { JRuby::Lint::Project.new(options) } }
|
86
|
+
When { STDOUT.stub!(:tty?).and_return(false) }
|
87
|
+
|
88
|
+
context 'tags' do
|
89
|
+
Given(:options) { OpenStruct.new(:tags => ["debug"]) }
|
90
|
+
Then { project.tags.should include("debug") }
|
91
|
+
Then { project.tags.should include(*JRuby::Lint::Project::DEFAULT_TAGS) }
|
89
92
|
end
|
90
93
|
|
91
|
-
context '
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
94
|
+
context 'reporters' do
|
95
|
+
context 'with html option' do
|
96
|
+
Given(:options) { OpenStruct.new(:html => 'report.html') }
|
97
|
+
Then { project.reporters.should have(1).reporter }
|
98
|
+
Then { project.reporters.first.should be_an_instance_of(JRuby::Lint::Reporters::Html) }
|
99
|
+
end
|
97
100
|
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
end
|
101
|
+
context 'with ansi option' do
|
102
|
+
Given(:options) { OpenStruct.new(:ansi => true) }
|
103
|
+
Then { project.reporters.should have(1).reporter }
|
104
|
+
Then { project.reporters.first.should be_an_instance_of(JRuby::Lint::Reporters::ANSIColor) }
|
105
|
+
end
|
104
106
|
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
end
|
107
|
+
context 'with text option' do
|
108
|
+
Given(:options) { OpenStruct.new(:text => true) }
|
109
|
+
Then { project.reporters.should have(1).reporter }
|
110
|
+
Then { project.reporters.first.should be_an_instance_of(JRuby::Lint::Reporters::Text) }
|
111
|
+
end
|
111
112
|
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
113
|
+
context 'with tty' do
|
114
|
+
Given { STDOUT.stub(:tty?).and_return(true) }
|
115
|
+
Then { project.reporters.should have(1).reporter }
|
116
|
+
Then { project.reporters.first.should be_an_instance_of(JRuby::Lint::Reporters::ANSIColor) }
|
117
|
+
end
|
117
118
|
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
119
|
+
context 'without any option' do
|
120
|
+
Then { project.reporters.should have(1).reporter }
|
121
|
+
Then { project.reporters.first.should be_an_instance_of(JRuby::Lint::Reporters::Text) }
|
122
|
+
end
|
123
|
+
|
124
|
+
context 'with several options' do
|
125
|
+
Given(:options) { OpenStruct.new(:ansi => true, :html => 'report.html') }
|
126
|
+
Then { project.reporters.should have(2).reporter }
|
127
|
+
Then { project.reporters.map(&:class).should include(JRuby::Lint::Reporters::ANSIColor) }
|
128
|
+
Then { project.reporters.map(&:class).should include(JRuby::Lint::Reporters::Html) }
|
129
|
+
end
|
124
130
|
end
|
125
131
|
end
|
126
132
|
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: jruby-lint
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.3.
|
5
|
+
version: 0.3.1
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Nick Sieger
|
@@ -10,8 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date:
|
14
|
-
default_executable:
|
13
|
+
date: 2012-01-13 00:00:00 Z
|
15
14
|
dependencies:
|
16
15
|
- !ruby/object:Gem::Dependency
|
17
16
|
name: term-ansicolor
|
@@ -40,7 +39,7 @@ dependencies:
|
|
40
39
|
version_requirements: &id003 !ruby/object:Gem::Requirement
|
41
40
|
none: false
|
42
41
|
requirements:
|
43
|
-
- - "
|
42
|
+
- - ">="
|
44
43
|
- !ruby/object:Gem::Version
|
45
44
|
version: 1.5.0.beta.4
|
46
45
|
requirement: *id003
|
@@ -151,7 +150,6 @@ files:
|
|
151
150
|
- spec/jruby/lint/reporters_spec.rb
|
152
151
|
- spec/jruby/lint/version_spec.rb
|
153
152
|
- spec/spec_helper.rb
|
154
|
-
has_rdoc: true
|
155
153
|
homepage: https://github.com/jruby/jruby-lint
|
156
154
|
licenses: []
|
157
155
|
|
@@ -181,7 +179,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
181
179
|
requirements: []
|
182
180
|
|
183
181
|
rubyforge_project: jruby-lint
|
184
|
-
rubygems_version: 1.
|
182
|
+
rubygems_version: 1.8.9
|
185
183
|
signing_key:
|
186
184
|
specification_version: 3
|
187
185
|
summary: See how ready your Ruby code is to run on JRuby.
|