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 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
- # Until a new childprocess gem incorporates my Dir.pwd fix
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'
@@ -1,3 +1,9 @@
1
+ === 0.3.1 / 2012/01/12
2
+
3
+ - Allow versions of nokogiri >= 1.5.0.beta.4 (e.g., 1.5.0)
4
+ - Enable adding tags from the command-line (e.g., 'debug')
5
+ - Upgrade project gems: rake, rspec, childprocess
6
+
1
7
  === 0.3.0 / 2011-07-04
2
8
 
3
9
  - html reports
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/gems'
17
- cache = JRuby::Lint::Gems::Cache.new('spec/fixtures')
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
 
@@ -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", "= 1.5.0.beta.4"
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"
@@ -4,6 +4,10 @@ module JRuby::Lint
4
4
  include Checker
5
5
  include CheckGemNode
6
6
 
7
+ def initialize
8
+ @gemspec_block_var = nil
9
+ end
10
+
7
11
  def visitCallNode(node)
8
12
  # Gem::Specification.new do |s| =>
9
13
  #
@@ -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
@@ -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)
@@ -1,5 +1,5 @@
1
1
  module JRuby
2
2
  module Lint
3
- VERSION = "0.3.0"
3
+ VERSION = "0.3.1"
4
4
  end
5
5
  end
@@ -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
- <link href="https://a248.e.akamai.net/assets.github.com/b061594e73bd47cde0b406f0ccd1cee8b0aa96ec/stylesheets/bundle_github.css" media="screen" rel="stylesheet" type="text/css" />
13
+
17
14
 
18
15
 
19
- <script type="text/javascript">
20
- if (typeof console == "undefined" || typeof console.log == "undefined")
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
- <script type="text/javascript">
69
- var _gaq = _gaq || [];
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 env-production">
34
+ <body class="logged_out env-production ">
88
35
 
89
36
 
90
-
91
37
 
92
38
 
93
39
 
94
- <div class="subnavd" id="main">
95
- <div id="header" class="true">
96
-
97
- <a class="logo boring" href="https://github.com">
98
-
99
- <img alt="github" class="default" height="45" src="https://a248.e.akamai.net/assets.github.com/images/modules/header/logov5.png" />
100
- <!--[if (gt IE 8)|!(IE)]><!-->
101
- <img alt="github" class="hover" height="45" src="https://a248.e.akamai.net/assets.github.com/images/modules/header/logov5-hover.png" />
102
- <!--<![endif]-->
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
- <div class="topsearch">
107
-
108
- <ul class="nav logged_out">
109
-
110
- <li class="pricing"><a href="/plans">Pricing and Signup</a></li>
111
-
112
- <li class="explore"><a href="/explore">Explore GitHub</a></li>
113
- <li class="features"><a href="/features">Features</a></li>
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
- <div class="title-actions-bar">
133
- <h1>
134
- <a href="/jruby">jruby</a> / <strong><a href="/jruby/jruby">jruby</a></strong>
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"><a href="/jruby/jruby/watchers" title="Watchers" class="tooltipped downwards">551</a></li>
162
- <li class="forks"><a href="/jruby/jruby/network" title="Forks" class="tooltipped downwards">125</a></li>
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
- </div>
108
+ </div>
109
+
110
+
168
111
 
169
-
170
112
  <ul class="tabs">
171
- <li><a href="/jruby/jruby" highlight="repo_source">Source</a></li>
172
- <li><a href="/jruby/jruby/commits/master" highlight="repo_commits">Commits</a></li>
173
- <li><a href="/jruby/jruby/network" highlight="repo_network">Network</a></li>
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
- <li><a href="/jruby/jruby/wiki" class="selected" highlight="repo_wiki">Wiki (118)</a></li>
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 &amp; 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
- <li class="gollum-minibutton"><a href="/jruby/jruby/wiki/C-Extension-Alternatives/_history"
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 id="template">
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
- Last edited by headius, <time class="js-relative-date" datetime="2011-05-15T17:25:54-07:00" title="2011-05-15 17:25:54">May 15, 2011</time>
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
- </div>
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>&reg;</span>
314
- </div>
315
-
316
196
 
317
- <ul class="links">
318
-
319
- <li class="blog"><a href="https://github.com/blog">Blog</a></li>
320
- <li><a href="https://github.com/about">About</a></li>
321
- <li><a href="https://github.com/contact">Contact &amp; Support</a></li>
322
- <li><a href="https://github.com/training">Training</a></li>
323
- <li><a href="http://jobs.github.com">Job Board</a></li>
324
- <li><a href="http://shop.github.com">Shop</a></li>
325
- <li><a href="http://developer.github.com">API</a></li>
326
- <li><a href="http://status.github.com">Status</a></li>
327
-
328
- </ul>
329
- <ul class="sosueme">
330
- <li class="main">&copy; 2011 <span id="_rrt" title="0.11973s from fe1.rs.github.com">GitHub</span> Inc. All rights reserved.</li>
331
- <li><a href="/site/terms">Terms of Service</a></li>
332
- <li><a href="/site/privacy">Privacy</a></li>
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 &amp; 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
- </ul>
252
+ </ul>
253
+
254
+ <p>&copy; 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>&reg;</span>
335
264
  </div>
336
- </div><!-- /#footer -->
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 selected down</dd>
292
+ <dd>Move selection down</dd>
362
293
  </dl>
363
294
  <dl class="keyboard-mappings">
364
295
  <dt>k</dt>
365
- <dd>Move selected up</dd>
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 selected down</dd>
312
+ <dd>Move selection down</dd>
390
313
  </dl>
391
314
  <dl class="keyboard-mappings">
392
315
  <dt>k</dt>
393
- <dd>Move selected up</dd>
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 selected down</dd>
335
+ <dd>Move selection down</dd>
413
336
  </dl>
414
337
  <dl class="keyboard-mappings">
415
338
  <dt>k</dt>
416
- <dd>Move selected up</dd>
339
+ <dd>Move selection up</dd>
417
340
  </dl>
418
341
  <dl class="keyboard-mappings">
419
342
  <dt>x</dt>
420
- <dd>Toggle select target</dd>
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 selected as read</dd>
353
+ <dd>Mark selection as read</dd>
431
354
  </dl>
432
355
  <dl class="keyboard-mappings">
433
356
  <dt>U</dt>
434
- <dd>Mark selected as unread</dd>
357
+ <dd>Mark selection as unread</dd>
435
358
  </dl>
436
359
  <dl class="keyboard-mappings">
437
360
  <dt>e</dt>
438
- <dd>Close selected</dd>
361
+ <dd>Close selection</dd>
439
362
  </dl>
440
363
  <dl class="keyboard-mappings">
441
364
  <dt>y</dt>
442
- <dd>Remove selected from view</dd>
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
- <!--[if IE 7]>
641
- <script type="text/javascript" charset="utf-8">
642
- $(document.body).addClass("ie7")
643
- </script>
644
- <![endif]-->
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
 
@@ -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 'loading reporters' do
84
- context 'with html option' do
85
- Given(:options) { OpenStruct.new(:html => 'report.html') }
86
- Given(:project) { in_current_dir { JRuby::Lint::Project.new(options) } }
87
- Then { project.reporters.should have(1).reporter }
88
- Then { project.reporters.first.should be_an_instance_of(JRuby::Lint::Reporters::Html) }
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 'with ansi option' do
92
- Given(:options) { OpenStruct.new(:ansi => true) }
93
- Given(:project) { in_current_dir { JRuby::Lint::Project.new(options) } }
94
- Then { project.reporters.should have(1).reporter }
95
- Then { project.reporters.first.should be_an_instance_of(JRuby::Lint::Reporters::ANSIColor) }
96
- end
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
- context 'with text option' do
99
- Given(:options) { OpenStruct.new(:text => true) }
100
- Given(:project) { in_current_dir { JRuby::Lint::Project.new(options) } }
101
- Then { project.reporters.should have(1).reporter }
102
- Then { project.reporters.first.should be_an_instance_of(JRuby::Lint::Reporters::Text) }
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
- context 'with tty' do
106
- Given { STDOUT.stub(:tty?).and_return(true) }
107
- Given(:project) { in_current_dir { JRuby::Lint::Project.new } }
108
- Then { project.reporters.should have(1).reporter }
109
- Then { project.reporters.first.should be_an_instance_of(JRuby::Lint::Reporters::ANSIColor) }
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
- context 'without any option' do
113
- Given(:project) { in_current_dir { JRuby::Lint::Project.new } }
114
- Then { project.reporters.should have(1).reporter }
115
- Then { project.reporters.first.should be_an_instance_of(JRuby::Lint::Reporters::Text) }
116
- end
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
- context 'with several options' do
119
- Given(:options) { OpenStruct.new(:ansi => true, :html => 'report.html') }
120
- Given(:project) { in_current_dir { JRuby::Lint::Project.new(options) } }
121
- Then { project.reporters.should have(2).reporter }
122
- Then { project.reporters.map(&:class).should include(JRuby::Lint::Reporters::ANSIColor) }
123
- Then { project.reporters.map(&:class).should include(JRuby::Lint::Reporters::Html) }
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.0
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: 2011-07-05 00:00:00 +02:00
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.5.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.