jruby-lint 0.3.1 → 0.4.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/History.txt +5 -0
- data/lib/jruby/lint/ast.rb +11 -0
- data/lib/jruby/lint/checkers/gemspec.rb +3 -1
- data/lib/jruby/lint/collectors.rb +10 -7
- data/lib/jruby/lint/version.rb +1 -1
- data/spec/fixtures/C-Extension-Alternatives.html +202 -117
- data/spec/jruby/lint/libraries_spec.rb +3 -3
- metadata +220 -182
    
        data/History.txt
    CHANGED
    
    
    
        data/lib/jruby/lint/ast.rb
    CHANGED
    
    | @@ -18,6 +18,17 @@ module JRuby::Lint | |
| 18 18 | 
             
                  end
         | 
| 19 19 | 
             
                end
         | 
| 20 20 |  | 
| 21 | 
            +
                module Helpers
         | 
| 22 | 
            +
                  def find_first(node, &block)
         | 
| 23 | 
            +
                    descendants(node).detect(&block)
         | 
| 24 | 
            +
                  end
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                  def descendants(node)
         | 
| 27 | 
            +
                    children = node.child_nodes
         | 
| 28 | 
            +
                    children.empty? ? [node] : children.map {|n| [n] + descendants(n) }.flatten
         | 
| 29 | 
            +
                  end
         | 
| 30 | 
            +
                end
         | 
| 31 | 
            +
             | 
| 21 32 | 
             
                class Visitor
         | 
| 22 33 | 
             
                  include Enumerable
         | 
| 23 34 | 
             
                  include org.jruby.ast.visitor.NodeVisitor
         | 
| @@ -3,6 +3,7 @@ module JRuby::Lint | |
| 3 3 | 
             
                class Gemspec
         | 
| 4 4 | 
             
                  include Checker
         | 
| 5 5 | 
             
                  include CheckGemNode
         | 
| 6 | 
            +
                  include AST::Helpers
         | 
| 6 7 |  | 
| 7 8 | 
             
                  def initialize
         | 
| 8 9 | 
             
                    @gemspec_block_var = nil
         | 
| @@ -23,7 +24,8 @@ module JRuby::Lint | |
| 23 24 | 
             
                        node.receiver_node.node_type.to_s == "COLON2NODE" && # :: - Colon2
         | 
| 24 25 | 
             
                        node.receiver_node.name == "Specification" &&        # ::Specification
         | 
| 25 26 | 
             
                        node.receiver_node.left_node.name == "Gem"           # Gem::Specification
         | 
| 26 | 
            -
                       | 
| 27 | 
            +
                      arg_node = find_first(node.iter_node.var_node) {|n| n.respond_to?(:name) }
         | 
| 28 | 
            +
                      @gemspec_block_var = arg_node.name
         | 
| 27 29 | 
             
                      return proc { @gemspec_block_var = nil }
         | 
| 28 30 | 
             
                    end
         | 
| 29 31 |  | 
| @@ -10,11 +10,11 @@ module JRuby::Lint | |
| 10 10 | 
             
                end
         | 
| 11 11 |  | 
| 12 12 | 
             
                class CheckersVisitor < AST::Visitor
         | 
| 13 | 
            -
                  attr_reader :checkers
         | 
| 13 | 
            +
                  attr_reader :collector, :checkers
         | 
| 14 14 |  | 
| 15 | 
            -
                  def initialize(ast, checkers)
         | 
| 15 | 
            +
                  def initialize(ast, collector, checkers)
         | 
| 16 16 | 
             
                    super(ast)
         | 
| 17 | 
            -
                    @checkers = checkers
         | 
| 17 | 
            +
                    @collector, @checkers = collector, checkers
         | 
| 18 18 | 
             
                  end
         | 
| 19 19 |  | 
| 20 20 | 
             
                  def visit(method, node)
         | 
| @@ -25,12 +25,15 @@ module JRuby::Lint | |
| 25 25 | 
             
                          res = ch.send(method, node)
         | 
| 26 26 | 
             
                          after_hooks << res if res.respond_to?(:call)
         | 
| 27 27 | 
             
                        end
         | 
| 28 | 
            -
                      rescue => e
         | 
| 29 | 
            -
                         | 
| 30 | 
            -
             | 
| 28 | 
            +
                      rescue Exception => e
         | 
| 29 | 
            +
                        collector.findings << Finding.new("Exception while traversing: #{e.message}\n  at #{e.backtrace.first}",
         | 
| 30 | 
            +
                                                          [:internal, :debug], node.position)
         | 
| 31 31 | 
             
                      end
         | 
| 32 32 | 
             
                    end
         | 
| 33 33 | 
             
                    super
         | 
| 34 | 
            +
                  rescue Exception => e
         | 
| 35 | 
            +
                    collector.findings << Finding.new("Exception while traversing: #{e.message}\n  at #{e.backtrace.first}",
         | 
| 36 | 
            +
                                                      [:internal, :debug], node.position)
         | 
| 34 37 | 
             
                  ensure
         | 
| 35 38 | 
             
                    begin
         | 
| 36 39 | 
             
                      after_hooks.each {|h| h.call }
         | 
| @@ -41,7 +44,7 @@ module JRuby::Lint | |
| 41 44 |  | 
| 42 45 | 
             
                def run
         | 
| 43 46 | 
             
                  begin
         | 
| 44 | 
            -
                    CheckersVisitor.new(ast, checkers).traverse
         | 
| 47 | 
            +
                    CheckersVisitor.new(ast, self, checkers).traverse
         | 
| 45 48 | 
             
                  rescue SyntaxError => e
         | 
| 46 49 | 
             
                    file, line, message = e.message.split(/:\s*/, 3)
         | 
| 47 50 | 
             
                    findings << Finding.new(message, [:syntax, :error], file, line)
         | 
    
        data/lib/jruby/lint/version.rb
    CHANGED
    
    
| @@ -1,53 +1,67 @@ | |
| 1 | 
            -
             | 
| 1 | 
            +
              
         | 
| 2 2 |  | 
| 3 3 |  | 
| 4 4 | 
             
            <!DOCTYPE html>
         | 
| 5 5 | 
             
            <html>
         | 
| 6 | 
            -
              <head>
         | 
| 6 | 
            +
              <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# githubog: http://ogp.me/ns/fb/githubog#">
         | 
| 7 7 | 
             
                <meta charset='utf-8'>
         | 
| 8 | 
            -
                <meta http-equiv="X-UA-Compatible" content=" | 
| 9 | 
            -
                    <title>C Extension Alternatives  | 
| 8 | 
            +
                <meta http-equiv="X-UA-Compatible" content="IE=edge">
         | 
| 9 | 
            +
                    <title>C Extension Alternatives · jruby/jruby Wiki · GitHub</title>
         | 
| 10 10 | 
             
                <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub" />
         | 
| 11 11 | 
             
                <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub" />
         | 
| 12 | 
            +
                <link rel="apple-touch-icon-precomposed" sizes="57x57" href="apple-touch-icon-114.png" />
         | 
| 13 | 
            +
                <link rel="apple-touch-icon-precomposed" sizes="114x114" href="apple-touch-icon-114.png" />
         | 
| 14 | 
            +
                <link rel="apple-touch-icon-precomposed" sizes="72x72" href="apple-touch-icon-144.png" />
         | 
| 15 | 
            +
                <link rel="apple-touch-icon-precomposed" sizes="144x144" href="apple-touch-icon-144.png" />
         | 
| 16 | 
            +
                <meta name="msapplication-TileImage" content="/windows-tile.png">
         | 
| 17 | 
            +
                <meta name="msapplication-TileColor" content="#ffffff">
         | 
| 12 18 |  | 
| 13 19 |  | 
| 14 20 |  | 
| 21 | 
            +
                <link rel="icon" type="image/x-icon" href="/favicon.ico" />
         | 
| 15 22 |  | 
| 16 23 | 
             
                <meta content="authenticity_token" name="csrf-param" />
         | 
| 17 | 
            -
            <meta content=" | 
| 24 | 
            +
            <meta content="6Qm2/XLBVrDz/ViJ+Af90zgrg0uh/0ENwOzt0AUeq64=" name="csrf-token" />
         | 
| 18 25 |  | 
| 19 | 
            -
                <link href="https://a248.e.akamai.net/assets.github.com/ | 
| 26 | 
            +
                <link href="https://a248.e.akamai.net/assets.github.com/assets/github-ce830f15a059580dd0f810cc75bcb0ee809ef6a1.css" media="screen" rel="stylesheet" type="text/css" />
         | 
| 27 | 
            +
                <link href="https://a248.e.akamai.net/assets.github.com/assets/github2-4487b0f7adb97a21e3025cca1477fd2895190e2a.css" media="screen" rel="stylesheet" type="text/css" />
         | 
| 20 28 |  | 
| 21 29 |  | 
| 22 | 
            -
             | 
| 23 | 
            -
                <script src="https://a248.e.akamai.net/assets.github.com/ | 
| 30 | 
            +
             | 
| 31 | 
            +
                <script src="https://a248.e.akamai.net/assets.github.com/assets/frameworks-28923941200b998a3e7422badab5b9be240f9be4.js" type="text/javascript"></script>
         | 
| 32 | 
            +
                <script src="https://a248.e.akamai.net/assets.github.com/assets/github-36f451a5784385d840e64f10e6b5daa274523286.js" type="text/javascript"></script>
         | 
| 24 33 |  | 
| 25 34 |  | 
| 26 | 
            -
                  <script src="https://a248.e.akamai.net/assets.github.com/ | 
| 35 | 
            +
                  <script src="https://a248.e.akamai.net/assets.github.com/assets/wiki-dec2413e047224cac07760fa1b6a8c87de91f0c5.js" type="text/javascript"></script>
         | 
| 36 | 
            +
                <meta property="og:title" content="jruby"/>
         | 
| 37 | 
            +
                <meta property="og:type" content="githubog:gitrepository"/>
         | 
| 38 | 
            +
                <meta property="og:url" content="https://github.com/jruby/jruby"/>
         | 
| 39 | 
            +
                <meta property="og:image" content="https://a248.e.akamai.net/assets.github.com/images/gravatars/gravatar-user-420.png?1345673561"/>
         | 
| 40 | 
            +
                <meta property="og:site_name" content="GitHub"/>
         | 
| 41 | 
            +
                <meta property="og:description" content="JRuby, an implementation of Ruby on the JVM. Contribute to jruby development by creating an account on GitHub."/>
         | 
| 27 42 |  | 
| 28 | 
            -
                <meta name="description" content=" | 
| 43 | 
            +
                <meta name="description" content="JRuby, an implementation of Ruby on the JVM. Contribute to jruby development by creating an account on GitHub." />
         | 
| 29 44 | 
             
              <link href="https://github.com/jruby/jruby/commits/master.atom" rel="alternate" title="Recent Commits to jruby:master" type="application/atom+xml" />
         | 
| 30 45 |  | 
| 31 46 | 
             
              </head>
         | 
| 32 47 |  | 
| 33 48 |  | 
| 34 | 
            -
              <body class="logged_out | 
| 35 | 
            -
                
         | 
| 49 | 
            +
              <body class="logged_out   vis-public env-production ">
         | 
| 50 | 
            +
                <div id="wrapper">
         | 
| 36 51 |  | 
| 52 | 
            +
                
         | 
| 53 | 
            +
                
         | 
| 37 54 |  | 
| 38 55 |  | 
| 39 56 |  | 
| 40 57 | 
             
                  <div id="header" class="true clearfix">
         | 
| 41 58 | 
             
                    <div class="container clearfix">
         | 
| 42 | 
            -
                      <a class="site-logo" href="https://github.com">
         | 
| 43 | 
            -
                         | 
| 44 | 
            -
                        <img alt="GitHub" class="github-logo" src="https://a248.e.akamai.net/assets.github.com/images/modules/header/logov7.png? | 
| 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" />
         | 
| 59 | 
            +
                      <a class="site-logo " href="https://github.com/">
         | 
| 60 | 
            +
                        <img alt="GitHub" class="github-logo-4x" height="30" src="https://a248.e.akamai.net/assets.github.com/images/modules/header/logov7@4x.png?1337118066" />
         | 
| 61 | 
            +
                        <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?1337118066" />
         | 
| 49 62 | 
             
                      </a>
         | 
| 50 63 |  | 
| 64 | 
            +
             | 
| 51 65 | 
             
                              <!--
         | 
| 52 66 | 
             
                  make sure to use fully qualified URLs here since this nav
         | 
| 53 67 | 
             
                  is used on error pages on other domains
         | 
| @@ -57,7 +71,7 @@ | |
| 57 71 | 
             
                    <li class="explore"><a href="https://github.com/explore">Explore GitHub</a></li>
         | 
| 58 72 | 
             
                  <li class="features"><a href="https://github.com/features">Features</a></li>
         | 
| 59 73 | 
             
                    <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"> | 
| 74 | 
            +
                  <li class="login"><a href="https://github.com/login?return_to=%2Fjruby%2Fjruby%2Fwiki%2FC-Extension-Alternatives">Sign in</a></li>
         | 
| 61 75 | 
             
                </ul>
         | 
| 62 76 |  | 
| 63 77 |  | 
| @@ -68,87 +82,83 @@ | |
| 68 82 |  | 
| 69 83 |  | 
| 70 84 |  | 
| 71 | 
            -
             | 
| 72 | 
            -
                  <div class="container">
         | 
| 73 | 
            -
                    <div class="pagehead repohead instapaper_ignore readability-menu">
         | 
| 74 | 
            -
             | 
| 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>
         | 
| 81 | 
            -
                      
         | 
| 82 | 
            -
             | 
| 85 | 
            +
                  
         | 
| 83 86 |  | 
| 84 87 |  | 
| 85 | 
            -
             | 
| 88 | 
            +
                        <div class="site hfeed" itemscope itemtype="http://schema.org/WebPage">
         | 
| 89 | 
            +
                  <div class="hentry">
         | 
| 90 | 
            +
                    
         | 
| 91 | 
            +
                    <div class="pagehead repohead instapaper_ignore readability-menu">
         | 
| 92 | 
            +
                      <div class="container">
         | 
| 93 | 
            +
                        <div class="title-actions-bar">
         | 
| 94 | 
            +
                          
         | 
| 86 95 |  | 
| 87 96 |  | 
| 88 | 
            -
             | 
| 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>
         | 
| 97 | 
            +
                              <ul class="pagehead-actions">
         | 
| 90 98 |  | 
| 91 99 |  | 
| 92 | 
            -
             | 
| 93 | 
            -
             | 
| 94 | 
            -
                      <li class="watchers ">
         | 
| 95 | 
            -
                        <a href="/jruby/jruby/watchers" title="Watchers" class="tooltipped downwards">
         | 
| 96 | 
            -
                          764
         | 
| 97 | 
            -
                        </a>
         | 
| 100 | 
            +
                      <li>
         | 
| 101 | 
            +
                        <span class="star-button"><a href="/login?return_to=%2Fjruby%2Fjruby" class="minibutton js-toggler-target entice tooltipped leftwards" title="You must be signed in to use this feature" rel="nofollow"><span class="mini-icon mini-icon-star"></span>Star</a><a class="social-count js-social-count" href="/jruby/jruby/stargazers">1,137</a></span>
         | 
| 98 102 | 
             
                      </li>
         | 
| 99 | 
            -
                      <li | 
| 100 | 
            -
                        <a href="/ | 
| 101 | 
            -
                          163
         | 
| 102 | 
            -
                        </a>
         | 
| 103 | 
            +
                      <li>
         | 
| 104 | 
            +
                        <a href="/login?return_to=%2Fjruby%2Fjruby" class="minibutton js-toggler-target fork-button entice tooltipped leftwards"  title="You must be signed in to fork a repository" rel="nofollow"><span class="mini-icon mini-icon-fork"></span>Fork</a><a href="/jruby/jruby/network" class="social-count">269</a>
         | 
| 103 105 | 
             
                      </li>
         | 
| 104 | 
            -
                    </ul>
         | 
| 105 | 
            -
                  </li>
         | 
| 106 106 | 
             
                </ul>
         | 
| 107 107 |  | 
| 108 | 
            -
             | 
| 108 | 
            +
                          <h1 itemscope itemtype="http://data-vocabulary.org/Breadcrumb" class="entry-title public">
         | 
| 109 | 
            +
                            <span class="repo-label"><span>public</span></span>
         | 
| 110 | 
            +
                            <span class="mega-icon mega-icon-public-repo"></span>
         | 
| 111 | 
            +
                            <span class="author vcard">
         | 
| 112 | 
            +
                              <a href="/jruby" class="url fn" itemprop="url" rel="author">
         | 
| 113 | 
            +
                              <span itemprop="title">jruby</span>
         | 
| 114 | 
            +
                              </a></span> /
         | 
| 115 | 
            +
                            <strong><a href="/jruby/jruby" class="js-current-repository">jruby</a></strong>
         | 
| 116 | 
            +
                          </h1>
         | 
| 117 | 
            +
                        </div>
         | 
| 109 118 |  | 
| 110 | 
            -
             | 
| 119 | 
            +
                        
         | 
| 111 120 |  | 
| 112 121 | 
             
              <ul class="tabs">
         | 
| 113 122 | 
             
                <li><a href="/jruby/jruby" highlight="repo_sourcerepo_downloadsrepo_commitsrepo_tagsrepo_branches">Code</a></li>
         | 
| 114 | 
            -
                <li><a href="/jruby/jruby/network" highlight=" | 
| 115 | 
            -
                <li><a href="/jruby/jruby/pulls" highlight="repo_pulls">Pull Requests <span class='counter'> | 
| 123 | 
            +
                <li><a href="/jruby/jruby/network" highlight="repo_network">Network</a></li>
         | 
| 124 | 
            +
                <li><a href="/jruby/jruby/pulls" highlight="repo_pulls">Pull Requests <span class='counter'>1</span></a></li>
         | 
| 116 125 |  | 
| 126 | 
            +
                  <li><a href="/jruby/jruby/issues" highlight="repo_issues">Issues <span class='counter'>51</span></a></li>
         | 
| 117 127 |  | 
| 118 | 
            -
                  <li><a href="/jruby/jruby/wiki" class="selected" highlight="repo_wiki">Wiki | 
| 128 | 
            +
                  <li><a href="/jruby/jruby/wiki" class="selected" highlight="repo_wiki">Wiki</a></li>
         | 
| 119 129 |  | 
| 120 | 
            -
                <li><a href="/jruby/jruby/graphs" highlight="repo_graphsrepo_contributors">Stats & Graphs</a></li>
         | 
| 121 130 |  | 
| 122 | 
            -
             | 
| 131 | 
            +
                <li><a href="/jruby/jruby/graphs" highlight="repo_graphsrepo_contributors">Graphs</a></li>
         | 
| 123 132 |  | 
| 133 | 
            +
             | 
| 134 | 
            +
              </ul>
         | 
| 124 135 |  | 
| 125 136 |  | 
| 126 137 |  | 
| 127 | 
            -
              <div class=" | 
| 128 | 
            -
              <ul class=" | 
| 129 | 
            -
                <li><a href="/jruby/jruby/wiki">Home</a></li>
         | 
| 130 | 
            -
                <li><a href="/jruby/jruby/wiki/_pages">Pages</a></li>
         | 
| 131 | 
            -
                <li><a href="/jruby/jruby/wiki/_history">Wiki History</a></li>
         | 
| 132 | 
            -
                <li><a href="/jruby/jruby/wiki/_access">Git Access</a></li>
         | 
| 138 | 
            +
              <div class="tabnav">
         | 
| 139 | 
            +
              <ul class="tabnav-tabs">
         | 
| 140 | 
            +
                <li><a href="/jruby/jruby/wiki" class="tabnav-tab">Home</a></li>
         | 
| 141 | 
            +
                <li><a href="/jruby/jruby/wiki/_pages" class="tabnav-tab">Pages</a></li>
         | 
| 142 | 
            +
                <li><a href="/jruby/jruby/wiki/_history" class="tabnav-tab">Wiki History</a></li>
         | 
| 143 | 
            +
                <li><a href="/jruby/jruby/wiki/_access" class="tabnav-tab">Git Access</a></li>
         | 
| 133 144 | 
             
              </ul>
         | 
| 134 145 | 
             
            </div>
         | 
| 135 146 |  | 
| 136 147 |  | 
| 137 | 
            -
                      
         | 
| 138 148 |  | 
| 149 | 
            +
                        
         | 
| 150 | 
            +
                      </div>
         | 
| 139 151 | 
             
                    </div><!-- /.repohead -->
         | 
| 140 152 |  | 
| 141 | 
            -
                    
         | 
| 142 | 
            -
             | 
| 143 | 
            -
             | 
| 144 | 
            -
             | 
| 153 | 
            +
                    <div id="js-repo-pjax-container" class="container context-loader-container" data-pjax-container>
         | 
| 154 | 
            +
                      
         | 
| 145 155 |  | 
| 146 156 | 
             
            <div id="wiki-wrapper" class="page">
         | 
| 147 157 | 
             
            <div id="head">
         | 
| 148 158 | 
             
              <h1 class="instapaper_title">C Extension Alternatives</h1>
         | 
| 149 159 | 
             
              <ul class="wiki-actions readability-extra">
         | 
| 150 160 | 
             
                <li class="gollum-minibutton"><a href="/jruby/jruby/wiki/C-Extension-Alternatives/_history"
         | 
| 151 | 
            -
                   class="action-page-history">
         | 
| 161 | 
            +
                   class="minibutton bigger action-page-history">
         | 
| 152 162 | 
             
                   Page History
         | 
| 153 163 | 
             
                 </a></li>
         | 
| 154 164 | 
             
              </ul>
         | 
| @@ -160,20 +170,22 @@ | |
| 160 170 | 
             
                  <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>
         | 
| 161 171 |  | 
| 162 172 | 
             
            <ul>
         | 
| 163 | 
            -
            <li><p><strong><a href="https://github.com/rtomayko/rdiscount">RDiscount</a></strong> - Use <a href="https://github.com/nex3/maruku">Maruku</a> (pure Ruby) or <a href="https://github.com/nate/markdown_j">markdown_j</a> (wrapper around a Java library)</p></li>
         | 
| 173 | 
            +
            <li><p><strong><a href="https://github.com/rtomayko/rdiscount">RDiscount</a></strong> - Use <a href="http://kramdown.rubyforge.org">kramdown</a>, <a href="https://github.com/nex3/maruku">Maruku</a> (pure Ruby) or <a href="https://github.com/nate/markdown_j">markdown_j</a> (wrapper around a Java library)</p></li>
         | 
| 164 174 | 
             
            <li><p><strong><a href="https://github.com/rmagick/rmagick">RMagick</a></strong> - Try <a href="https://github.com/Serabe/RMagick4J">RMagick4J</a> (implements ImageMagick functionality in Java) or preferably use alternatives <a href="https://github.com/probablycorey/mini_magick">mini_magick</a> & <a href="https://github.com/aseldawy/quick_magick">quick_magick</a>. For simple resizing, cropping, greyscaling, etc look at <a href="https://github.com/jruby/image_voodoo">image_voodoo</a>.</p></li>
         | 
| 165 | 
            -
            <li><p><strong><a href="http://unicorn.bogomips.org/">Unicorn</a></strong> - Try any one of the following <a class="internal present" href="/jruby/jruby/wiki/Servers">JRuby-based servers</a>: <a href="https://github.com/trinidad/trinidad">Trinidad</a>, <a href="https://github.com/matadon/mizuno">Mizuno</a>, <a href="https://github.com/strobecorp/kirk">Kirk</a> or <a href="http:// | 
| 166 | 
            -
            <li><p><strong><a href="http://code.macournoyer.com/thin/">Thin</a></strong> - Thin might compile and run but is not recommended. Try any one of the following <a class="internal present" href="/jruby/jruby/wiki/Servers">JRuby-based servers</a>: <a href="https://github.com/trinidad/trinidad">Trinidad</a>, <a href="https://github.com/matadon/mizuno">Mizuno</a>, <a href="https://github.com/strobecorp/kirk">Kirk</a | 
| 175 | 
            +
            <li><p><strong><a href="http://unicorn.bogomips.org/">Unicorn</a></strong> - Try any one of the following <a class="internal present" href="/jruby/jruby/wiki/Servers">JRuby-based servers</a>: <a href="https://github.com/trinidad/trinidad">Trinidad</a>, <a href="https://github.com/matadon/mizuno">Mizuno</a>, <a href="https://github.com/strobecorp/kirk">Kirk</a>, <a href="http://mobile.www.monde.org/?L=0">mobile</a> or <a href="http://puma.io/">Puma</a>.</p></li>
         | 
| 176 | 
            +
            <li><p><strong><a href="http://code.macournoyer.com/thin/">Thin</a></strong> - Thin might compile and run but is not recommended. Try any one of the following <a class="internal present" href="/jruby/jruby/wiki/Servers">JRuby-based servers</a>: <a href="https://github.com/trinidad/trinidad">Trinidad</a>, <a href="https://github.com/matadon/mizuno">Mizuno</a>, <a href="https://github.com/strobecorp/kirk">Kirk</a>, <a href="http://torquebox.org/">TorqueBox</a> or <a href="http://puma.io/">Puma</a>.</p></li>
         | 
| 167 177 | 
             
            <li><p><strong><a href="https://github.com/dbalatero/typhoeus">Typhoeus</a></strong> - The C extension <a href="https://github.com/dbalatero/typhoeus/issues/65">doesn't currently compile</a>. There's no equivalent library for JRuby, but you might try any of the pure-Ruby HTTP clients (<code>net/http</code>, httpclient, etc.). There are also several Java HTTP client libraries that will work (<a href="http://hc.apache.org/httpcomponents-client-ga/">Apache HttpClient</a>, <a href="http://download.oracle.com/javase/1,5.0/docs/api/java/net/HttpURLConnection.html">HttpURLConnection</a>, etc).</p></li>
         | 
| 168 178 | 
             
            <li><p><strong>mysql</strong> - Use <a href="https://github.com/nicksieger/activerecord-jdbc-adapter">activerecord-jdbc-adapter</a> instead along with <code>jdbc-mysql</code>.</p></li>
         | 
| 169 179 | 
             
            <li><p><strong>mysql2</strong> - Use <a href="https://github.com/nicksieger/activerecord-jdbc-adapter">activerecord-jdbc-adapter</a> instead along with <code>jdbc-mysql</code>.</p></li>
         | 
| 170 180 | 
             
            <li><p><strong>sqlite3</strong> - Use <a href="https://github.com/nicksieger/activerecord-jdbc-adapter">activerecord-jdbc-adapter</a> instead along with <code>jdbc-sqlite3</code>.</p></li>
         | 
| 171 | 
            -
            <li><p><strong><a href="http://nokogiri.org/">Nokogiri</a></strong> - For best results, use the pure-Java version of Nokogiri ( | 
| 181 | 
            +
            <li><p><strong><a href="http://nokogiri.org/">Nokogiri</a></strong> - For best results, use the pure-Java version of Nokogiri (default after v1.5).</p></li>
         | 
| 172 182 | 
             
            <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>
         | 
| 173 183 | 
             
            <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>
         | 
| 174 184 | 
             
            <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 185 | 
             
            <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 186 | 
             
            <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>
         | 
| 187 | 
            +
            <li><p><strong><a href="http://fallabs.com/kyotocabinet/">kyotocabinet</a></strong> - Try using <a href="https://github.com/csw/kyotocabinet-java">kyotocabinet-java</a> instead. This isn't 100% complete yet, but it covers most of the API.</p></li>
         | 
| 188 | 
            +
            <li><p><strong><a href="https://github.com/evan/memcached">memcached</a></strong> - Try using <a href="https://github.com/aurorafeint/jruby-memcached">jruby-memcached</a> instead.</p></li>
         | 
| 177 189 | 
             
            </ul><p>Please add to this list with your findings.</p>
         | 
| 178 190 |  | 
| 179 191 | 
             
            <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>
         | 
| @@ -184,15 +196,19 @@ | |
| 184 196 | 
             
            </div>
         | 
| 185 197 | 
             
            <div id="gollum-footer">
         | 
| 186 198 | 
             
              <p id="last-edit">
         | 
| 187 | 
            -
                Last edited by  | 
| 199 | 
            +
                Last edited by flyerhzm, <time class="js-relative-date" datetime="2012-08-30T20:16:02-07:00" title="2012-08-30 20:16:02">August 30, 2012</time>
         | 
| 188 200 | 
             
              </p>
         | 
| 189 201 | 
             
            </div>
         | 
| 190 202 | 
             
            </div>
         | 
| 191 203 |  | 
| 192 204 |  | 
| 205 | 
            +
                    </div>
         | 
| 193 206 | 
             
                  </div>
         | 
| 207 | 
            +
                  <div class="context-overlay"></div>
         | 
| 194 208 | 
             
                </div>
         | 
| 195 209 |  | 
| 210 | 
            +
                  <div id="footer-push"></div><!-- hack for sticky footer -->
         | 
| 211 | 
            +
                </div><!-- end of wrapper - hack for sticky footer -->
         | 
| 196 212 |  | 
| 197 213 | 
             
                  <!-- footer -->
         | 
| 198 214 | 
             
                  <div id="footer" >
         | 
| @@ -200,8 +216,7 @@ | |
| 200 216 | 
             
              <div class="upper_footer">
         | 
| 201 217 | 
             
                 <div class="container clearfix">
         | 
| 202 218 |  | 
| 203 | 
            -
                    | 
| 204 | 
            -
                   <![if !IE]><h4 id="blacktocat">GitHub Links</h4><![endif]>
         | 
| 219 | 
            +
                   <h4 id="blacktocat">GitHub Links</h4>
         | 
| 205 220 |  | 
| 206 221 | 
             
                   <ul class="footer_nav">
         | 
| 207 222 | 
             
                     <h4>GitHub</h4>
         | 
| @@ -209,23 +224,27 @@ | |
| 209 224 | 
             
                     <li><a href="https://github.com/blog">Blog</a></li>
         | 
| 210 225 | 
             
                     <li><a href="https://github.com/features">Features</a></li>
         | 
| 211 226 | 
             
                     <li><a href="https://github.com/contact">Contact & Support</a></li>
         | 
| 212 | 
            -
                     <li><a href=" | 
| 227 | 
            +
                     <li><a href="http://training.github.com/">Training</a></li>
         | 
| 213 228 | 
             
                     <li><a href="http://enterprise.github.com/">GitHub Enterprise</a></li>
         | 
| 214 229 | 
             
                     <li><a href="http://status.github.com/">Site Status</a></li>
         | 
| 215 230 | 
             
                   </ul>
         | 
| 216 231 |  | 
| 217 232 | 
             
                   <ul class="footer_nav">
         | 
| 218 | 
            -
                     <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>
         | 
| 233 | 
            +
                     <h4>Clients</h4>
         | 
| 222 234 | 
             
                     <li><a href="http://mac.github.com/">GitHub for Mac</a></li>
         | 
| 223 | 
            -
                     <li><a href="http:// | 
| 224 | 
            -
                     <li><a href="http:// | 
| 235 | 
            +
                     <li><a href="http://windows.github.com/">GitHub for Windows</a></li>
         | 
| 236 | 
            +
                     <li><a href="http://eclipse.github.com/">GitHub for Eclipse</a></li>
         | 
| 237 | 
            +
                     <li><a href="http://mobile.github.com/">GitHub Mobile Apps</a></li>
         | 
| 225 238 | 
             
                   </ul>
         | 
| 226 239 |  | 
| 227 240 | 
             
                   <ul class="footer_nav">
         | 
| 228 | 
            -
                     <h4> | 
| 241 | 
            +
                     <h4>Tools</h4>
         | 
| 242 | 
            +
                     <li><a href="http://get.gaug.es/">Gauges: Web analytics</a></li>
         | 
| 243 | 
            +
                     <li><a href="http://speakerdeck.com">Speaker Deck: Presentations</a></li>
         | 
| 244 | 
            +
                     <li><a href="https://gist.github.com">Gist: Code snippets</a></li>
         | 
| 245 | 
            +
             | 
| 246 | 
            +
                     <h4 class="second">Extras</h4>
         | 
| 247 | 
            +
                     <li><a href="http://jobs.github.com/">Job Board</a></li>
         | 
| 229 248 | 
             
                     <li><a href="http://shop.github.com/">GitHub Shop</a></li>
         | 
| 230 249 | 
             
                     <li><a href="http://octodex.github.com/">The Octodex</a></li>
         | 
| 231 250 | 
             
                   </ul>
         | 
| @@ -243,28 +262,20 @@ | |
| 243 262 |  | 
| 244 263 | 
             
            <div class="lower_footer">
         | 
| 245 264 | 
             
              <div class="container clearfix">
         | 
| 246 | 
            -
                 | 
| 247 | 
            -
                <![if !IE]><div id="legal"><![endif]>
         | 
| 265 | 
            +
                <div id="legal">
         | 
| 248 266 | 
             
                  <ul>
         | 
| 249 267 | 
             
                      <li><a href="https://github.com/site/terms">Terms of Service</a></li>
         | 
| 250 268 | 
             
                      <li><a href="https://github.com/site/privacy">Privacy</a></li>
         | 
| 251 269 | 
             
                      <li><a href="https://github.com/security">Security</a></li>
         | 
| 252 270 | 
             
                  </ul>
         | 
| 253 271 |  | 
| 254 | 
            -
                  <p>© 2012 <span  | 
| 272 | 
            +
                  <p>© 2012 <span title="0.09641s from fe13.rs.github.com">GitHub</span> Inc. All rights reserved.</p>
         | 
| 255 273 | 
             
                </div><!-- /#legal or /#legal_ie-->
         | 
| 256 274 |  | 
| 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>
         | 
| 264 | 
            -
                  </div>
         | 
| 265 275 | 
             
              </div><!-- /.site -->
         | 
| 266 276 | 
             
            </div><!-- /.lower_footer -->
         | 
| 267 277 |  | 
| 278 | 
            +
             | 
| 268 279 | 
             
                  </div><!-- /#footer -->
         | 
| 269 280 |  | 
| 270 281 |  | 
| @@ -277,7 +288,7 @@ | |
| 277 288 | 
             
                  <h3>Site wide shortcuts</h3>
         | 
| 278 289 | 
             
                  <dl class="keyboard-mappings">
         | 
| 279 290 | 
             
                    <dt>s</dt>
         | 
| 280 | 
            -
                    <dd>Focus  | 
| 291 | 
            +
                    <dd>Focus command bar</dd>
         | 
| 281 292 | 
             
                  </dl>
         | 
| 282 293 | 
             
                  <dl class="keyboard-mappings">
         | 
| 283 294 | 
             
                    <dt>?</dt>
         | 
| @@ -305,7 +316,7 @@ | |
| 305 316 | 
             
                  </dl>
         | 
| 306 317 | 
             
                </div><!-- /.column.first -->
         | 
| 307 318 |  | 
| 308 | 
            -
                <div class="column last" style='display:none'>
         | 
| 319 | 
            +
                <div class="column last js-hidden-pane" style='display:none'>
         | 
| 309 320 | 
             
                  <h3>Pull request list</h3>
         | 
| 310 321 | 
             
                  <dl class="keyboard-mappings">
         | 
| 311 322 | 
             
                    <dt>j</dt>
         | 
| @@ -319,11 +330,19 @@ | |
| 319 330 | 
             
                    <dt>o <em>or</em> enter</dt>
         | 
| 320 331 | 
             
                    <dd>Open issue</dd>
         | 
| 321 332 | 
             
                  </dl>
         | 
| 333 | 
            +
                  <dl class="keyboard-mappings">
         | 
| 334 | 
            +
                    <dt><span class="platform-mac">⌘</span><span class="platform-other">ctrl</span> <em>+</em> enter</dt>
         | 
| 335 | 
            +
                    <dd>Submit comment</dd>
         | 
| 336 | 
            +
                  </dl>
         | 
| 337 | 
            +
                  <dl class="keyboard-mappings">
         | 
| 338 | 
            +
                    <dt><span class="platform-mac">⌘</span><span class="platform-other">ctrl</span> <em>+</em> shift p</dt>
         | 
| 339 | 
            +
                    <dd>Preview comment</dd>
         | 
| 340 | 
            +
                  </dl>
         | 
| 322 341 | 
             
                </div><!-- /.columns.last -->
         | 
| 323 342 |  | 
| 324 343 | 
             
              </div><!-- /.columns.equacols -->
         | 
| 325 344 |  | 
| 326 | 
            -
              <div style='display:none'>
         | 
| 345 | 
            +
              <div class="js-hidden-pane" style='display:none'>
         | 
| 327 346 | 
             
                <div class="rule"></div>
         | 
| 328 347 |  | 
| 329 348 | 
             
                <h3>Issues</h3>
         | 
| @@ -346,25 +365,15 @@ | |
| 346 365 | 
             
                      <dt>o <em>or</em> enter</dt>
         | 
| 347 366 | 
             
                      <dd>Open issue</dd>
         | 
| 348 367 | 
             
                    </dl>
         | 
| 349 | 
            -
                  </div><!-- /.column.first -->
         | 
| 350 | 
            -
                  <div class="column middle">
         | 
| 351 | 
            -
                    <dl class="keyboard-mappings">
         | 
| 352 | 
            -
                      <dt>I</dt>
         | 
| 353 | 
            -
                      <dd>Mark selection as read</dd>
         | 
| 354 | 
            -
                    </dl>
         | 
| 355 368 | 
             
                    <dl class="keyboard-mappings">
         | 
| 356 | 
            -
                      <dt> | 
| 357 | 
            -
                      <dd> | 
| 369 | 
            +
                      <dt><span class="platform-mac">⌘</span><span class="platform-other">ctrl</span> <em>+</em> enter</dt>
         | 
| 370 | 
            +
                      <dd>Submit comment</dd>
         | 
| 358 371 | 
             
                    </dl>
         | 
| 359 372 | 
             
                    <dl class="keyboard-mappings">
         | 
| 360 | 
            -
                      <dt> | 
| 361 | 
            -
                      <dd> | 
| 373 | 
            +
                      <dt><span class="platform-mac">⌘</span><span class="platform-other">ctrl</span> <em>+</em> shift p</dt>
         | 
| 374 | 
            +
                      <dd>Preview comment</dd>
         | 
| 362 375 | 
             
                    </dl>
         | 
| 363 | 
            -
             | 
| 364 | 
            -
                      <dt>y</dt>
         | 
| 365 | 
            -
                      <dd>Remove selection from view</dd>
         | 
| 366 | 
            -
                    </dl>
         | 
| 367 | 
            -
                  </div><!-- /.column.middle -->
         | 
| 376 | 
            +
                  </div><!-- /.column.first -->
         | 
| 368 377 | 
             
                  <div class="column last">
         | 
| 369 378 | 
             
                    <dl class="keyboard-mappings">
         | 
| 370 379 | 
             
                      <dt>c</dt>
         | 
| @@ -390,7 +399,7 @@ | |
| 390 399 | 
             
                </div>
         | 
| 391 400 | 
             
              </div>
         | 
| 392 401 |  | 
| 393 | 
            -
              <div style='display:none'>
         | 
| 402 | 
            +
              <div class="js-hidden-pane" style='display:none'>
         | 
| 394 403 | 
             
                <div class="rule"></div>
         | 
| 395 404 |  | 
| 396 405 | 
             
                <h3>Issues Dashboard</h3>
         | 
| @@ -413,7 +422,7 @@ | |
| 413 422 | 
             
                </div>
         | 
| 414 423 | 
             
              </div>
         | 
| 415 424 |  | 
| 416 | 
            -
              <div style='display:none'>
         | 
| 425 | 
            +
              <div class="js-hidden-pane" style='display:none'>
         | 
| 417 426 | 
             
                <div class="rule"></div>
         | 
| 418 427 |  | 
| 419 428 | 
             
                <h3>Network Graph</h3>
         | 
| @@ -461,10 +470,10 @@ | |
| 461 470 | 
             
                </div>
         | 
| 462 471 | 
             
              </div>
         | 
| 463 472 |  | 
| 464 | 
            -
              <div style='display:none'>
         | 
| 473 | 
            +
              <div class="js-hidden-pane" style='display:none'>
         | 
| 465 474 | 
             
                <div class="rule"></div>
         | 
| 466 475 | 
             
                <div class="columns threecols">
         | 
| 467 | 
            -
                  <div class="column first" style='display:none'>
         | 
| 476 | 
            +
                  <div class="column first js-hidden-pane" style='display:none'>
         | 
| 468 477 | 
             
                    <h3>Source Code Browsing</h3>
         | 
| 469 478 | 
             
                    <dl class="keyboard-mappings">
         | 
| 470 479 | 
             
                      <dt>t</dt>
         | 
| @@ -485,6 +494,65 @@ | |
| 485 494 | 
             
                  </div>
         | 
| 486 495 | 
             
                </div>
         | 
| 487 496 | 
             
              </div>
         | 
| 497 | 
            +
             | 
| 498 | 
            +
              <div class="js-hidden-pane" style='display:none'>
         | 
| 499 | 
            +
                <div class="rule"></div>
         | 
| 500 | 
            +
                <div class="columns threecols">
         | 
| 501 | 
            +
                  <div class="column first">
         | 
| 502 | 
            +
                    <h3>Browsing Commits</h3>
         | 
| 503 | 
            +
                    <dl class="keyboard-mappings">
         | 
| 504 | 
            +
                      <dt><span class="platform-mac">⌘</span><span class="platform-other">ctrl</span> <em>+</em> enter</dt>
         | 
| 505 | 
            +
                      <dd>Submit comment</dd>
         | 
| 506 | 
            +
                    </dl>
         | 
| 507 | 
            +
                    <dl class="keyboard-mappings">
         | 
| 508 | 
            +
                      <dt>escape</dt>
         | 
| 509 | 
            +
                      <dd>Close form</dd>
         | 
| 510 | 
            +
                    </dl>
         | 
| 511 | 
            +
                    <dl class="keyboard-mappings">
         | 
| 512 | 
            +
                      <dt>p</dt>
         | 
| 513 | 
            +
                      <dd>Parent commit</dd>
         | 
| 514 | 
            +
                    </dl>
         | 
| 515 | 
            +
                    <dl class="keyboard-mappings">
         | 
| 516 | 
            +
                      <dt>o</dt>
         | 
| 517 | 
            +
                      <dd>Other parent commit</dd>
         | 
| 518 | 
            +
                    </dl>
         | 
| 519 | 
            +
                  </div>
         | 
| 520 | 
            +
                </div>
         | 
| 521 | 
            +
              </div>
         | 
| 522 | 
            +
             | 
| 523 | 
            +
              <div class="js-hidden-pane" style='display:none'>
         | 
| 524 | 
            +
                <div class="rule"></div>
         | 
| 525 | 
            +
                <h3>Notifications</h3>
         | 
| 526 | 
            +
             | 
| 527 | 
            +
                <div class="columns threecols">
         | 
| 528 | 
            +
                  <div class="column first">
         | 
| 529 | 
            +
                    <dl class="keyboard-mappings">
         | 
| 530 | 
            +
                      <dt>j</dt>
         | 
| 531 | 
            +
                      <dd>Move selection down</dd>
         | 
| 532 | 
            +
                    </dl>
         | 
| 533 | 
            +
                    <dl class="keyboard-mappings">
         | 
| 534 | 
            +
                      <dt>k</dt>
         | 
| 535 | 
            +
                      <dd>Move selection up</dd>
         | 
| 536 | 
            +
                    </dl>
         | 
| 537 | 
            +
                    <dl class="keyboard-mappings">
         | 
| 538 | 
            +
                      <dt>o <em>or</em> enter</dt>
         | 
| 539 | 
            +
                      <dd>Open notification</dd>
         | 
| 540 | 
            +
                    </dl>
         | 
| 541 | 
            +
                  </div><!-- /.column.first -->
         | 
| 542 | 
            +
             | 
| 543 | 
            +
                  <div class="column second">
         | 
| 544 | 
            +
                    <dl class="keyboard-mappings">
         | 
| 545 | 
            +
                      <dt>e <em>or</em> shift i <em>or</em> y</dt>
         | 
| 546 | 
            +
                      <dd>Mark as read</dd>
         | 
| 547 | 
            +
                    </dl>
         | 
| 548 | 
            +
                    <dl class="keyboard-mappings">
         | 
| 549 | 
            +
                      <dt>shift m</dt>
         | 
| 550 | 
            +
                      <dd>Mute thread</dd>
         | 
| 551 | 
            +
                    </dl>
         | 
| 552 | 
            +
                  </div><!-- /.column.first -->
         | 
| 553 | 
            +
                </div>
         | 
| 554 | 
            +
              </div>
         | 
| 555 | 
            +
             | 
| 488 556 | 
             
            </div>
         | 
| 489 557 |  | 
| 490 558 | 
             
                <div id="markdown-help" class="instapaper_ignore readability-extra">
         | 
| @@ -582,14 +650,31 @@ I think you should use an | |
| 582 650 | 
             
            </div>
         | 
| 583 651 |  | 
| 584 652 |  | 
| 585 | 
            -
                <div class=" | 
| 653 | 
            +
                <div id="ajax-error-message" class="flash flash-error">
         | 
| 654 | 
            +
                  <span class="mini-icon mini-icon-exclamation"></span>
         | 
| 655 | 
            +
                  Something went wrong with that request. Please try again.
         | 
| 656 | 
            +
                  <a href="#" class="mini-icon mini-icon-remove-close ajax-error-dismiss"></a>
         | 
| 657 | 
            +
                </div>
         | 
| 586 658 |  | 
| 587 | 
            -
                <div  | 
| 588 | 
            -
                  < | 
| 659 | 
            +
                <div id="logo-popup">
         | 
| 660 | 
            +
                  <h2>Looking for the GitHub logo?</h2>
         | 
| 661 | 
            +
                  <ul>
         | 
| 662 | 
            +
                    <li>
         | 
| 663 | 
            +
                      <h4>GitHub Logo</h4>
         | 
| 664 | 
            +
                      <a href="http://github-media-downloads.s3.amazonaws.com/GitHub_Logos.zip"><img alt="Github_logo" src="https://a248.e.akamai.net/assets.github.com/images/modules/about_page/github_logo.png?1334862345" /></a>
         | 
| 665 | 
            +
                      <a href="http://github-media-downloads.s3.amazonaws.com/GitHub_Logos.zip" class="minibutton download">Download</a>
         | 
| 666 | 
            +
                    </li>
         | 
| 667 | 
            +
                    <li>
         | 
| 668 | 
            +
                      <h4>The Octocat</h4>
         | 
| 669 | 
            +
                      <a href="http://github-media-downloads.s3.amazonaws.com/Octocats.zip"><img alt="Octocat" src="https://a248.e.akamai.net/assets.github.com/images/modules/about_page/octocat.png?1334862345" /></a>
         | 
| 670 | 
            +
                      <a href="http://github-media-downloads.s3.amazonaws.com/Octocats.zip" class="minibutton download">Download</a>
         | 
| 671 | 
            +
                    </li>
         | 
| 672 | 
            +
                  </ul>
         | 
| 589 673 | 
             
                </div>
         | 
| 590 674 |  | 
| 591 675 |  | 
| 592 676 |  | 
| 677 | 
            +
                <span id='server_response_time' data-time='0.09792' data-host='fe13'></span>
         | 
| 593 678 |  | 
| 594 679 | 
             
              </body>
         | 
| 595 680 | 
             
            </html>
         | 
| @@ -10,7 +10,7 @@ describe JRuby::Lint::Libraries do | |
| 10 10 | 
             
                context "with net access", :requires_net => true do
         | 
| 11 11 | 
             
                  context "fetch" do
         | 
| 12 12 | 
             
                    When { cache.fetch('C-Extension-Alternatives') }
         | 
| 13 | 
            -
                    Then { check_file_presence('C-Extension-Alternatives.html', true) }
         | 
| 13 | 
            +
                    Then { check_file_presence(['C-Extension-Alternatives.html'], true) }
         | 
| 14 14 | 
             
                  end
         | 
| 15 15 |  | 
| 16 16 | 
             
                  context "refreshes a file that's too old" do
         | 
| @@ -27,12 +27,12 @@ describe JRuby::Lint::Libraries do | |
| 27 27 |  | 
| 28 28 | 
             
                  context "store assumes .html extension by default" do
         | 
| 29 29 | 
             
                    When { cache.store('hello.yml', 'hi')}
         | 
| 30 | 
            -
                    Then { check_file_presence('hello.yml', true) }
         | 
| 30 | 
            +
                    Then { check_file_presence(['hello.yml'], true) }
         | 
| 31 31 | 
             
                  end
         | 
| 32 32 |  | 
| 33 33 | 
             
                  context "store assumes .html extension by default" do
         | 
| 34 34 | 
             
                    When { cache.store('hello', 'hi')}
         | 
| 35 | 
            -
                    Then { check_file_presence('hello.html', true) }
         | 
| 35 | 
            +
                    Then { check_file_presence(['hello.html'], true) }
         | 
| 36 36 | 
             
                  end
         | 
| 37 37 |  | 
| 38 38 | 
             
                  context "fetch should not access net when file is cached" do
         | 
    
        metadata
    CHANGED
    
    | @@ -1,197 +1,235 @@ | |
| 1 | 
            -
            --- !ruby/object:Gem::Specification | 
| 1 | 
            +
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: jruby-lint
         | 
| 3 | 
            -
            version: !ruby/object:Gem::Version | 
| 4 | 
            -
              prerelease: | 
| 5 | 
            -
              version: 0. | 
| 3 | 
            +
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            +
              prerelease:
         | 
| 5 | 
            +
              version: 0.4.0
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 | 
            -
            authors: | 
| 8 | 
            -
             | 
| 9 | 
            -
            autorequire: | 
| 7 | 
            +
            authors:
         | 
| 8 | 
            +
            - Nick Sieger
         | 
| 9 | 
            +
            autorequire:
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 15 | 
            -
               | 
| 16 | 
            -
             | 
| 17 | 
            -
                 | 
| 18 | 
            -
             | 
| 19 | 
            -
                   | 
| 20 | 
            -
                     | 
| 21 | 
            -
                       | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
                 | 
| 25 | 
            -
                 | 
| 26 | 
            -
             | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 29 | 
            -
             | 
| 30 | 
            -
             | 
| 31 | 
            -
             | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
                 | 
| 36 | 
            -
                 | 
| 37 | 
            -
             | 
| 38 | 
            -
             | 
| 39 | 
            -
             | 
| 40 | 
            -
             | 
| 41 | 
            -
             | 
| 42 | 
            -
             | 
| 43 | 
            -
             | 
| 44 | 
            -
             | 
| 45 | 
            -
             | 
| 46 | 
            -
             | 
| 47 | 
            -
                 | 
| 48 | 
            -
               | 
| 49 | 
            -
             | 
| 50 | 
            -
             | 
| 51 | 
            -
             | 
| 52 | 
            -
             | 
| 53 | 
            -
             | 
| 54 | 
            -
             | 
| 55 | 
            -
             | 
| 56 | 
            -
             | 
| 57 | 
            -
                 | 
| 58 | 
            -
             | 
| 59 | 
            -
             | 
| 60 | 
            -
                 | 
| 61 | 
            -
             | 
| 62 | 
            -
             | 
| 63 | 
            -
             | 
| 64 | 
            -
             | 
| 65 | 
            -
             | 
| 66 | 
            -
             | 
| 67 | 
            -
             | 
| 68 | 
            -
             | 
| 69 | 
            -
                 | 
| 70 | 
            -
             | 
| 71 | 
            -
             | 
| 72 | 
            -
             | 
| 73 | 
            -
             | 
| 74 | 
            -
             | 
| 75 | 
            -
             | 
| 76 | 
            -
             | 
| 77 | 
            -
             | 
| 78 | 
            -
             | 
| 79 | 
            -
             | 
| 80 | 
            -
             | 
| 81 | 
            -
             | 
| 82 | 
            -
             | 
| 83 | 
            -
             | 
| 84 | 
            -
             | 
| 85 | 
            -
             | 
| 86 | 
            -
             | 
| 87 | 
            -
             | 
| 88 | 
            -
             | 
| 89 | 
            -
             | 
| 90 | 
            -
             | 
| 91 | 
            -
                 | 
| 92 | 
            -
             | 
| 93 | 
            -
             | 
| 94 | 
            -
                 | 
| 95 | 
            -
             | 
| 96 | 
            -
             | 
| 97 | 
            -
                 | 
| 98 | 
            -
             | 
| 99 | 
            -
             | 
| 100 | 
            -
             | 
| 101 | 
            -
             | 
| 102 | 
            -
               | 
| 12 | 
            +
            date: 2012-11-01 00:00:00.000000000 Z
         | 
| 13 | 
            +
            dependencies:
         | 
| 14 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 15 | 
            +
              name: term-ansicolor
         | 
| 16 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 17 | 
            +
                requirements:
         | 
| 18 | 
            +
                - - ! '>='
         | 
| 19 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 20 | 
            +
                    version: !binary |-
         | 
| 21 | 
            +
                      MA==
         | 
| 22 | 
            +
                none: false
         | 
| 23 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 24 | 
            +
                requirements:
         | 
| 25 | 
            +
                - - ! '>='
         | 
| 26 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 27 | 
            +
                    version: !binary |-
         | 
| 28 | 
            +
                      MA==
         | 
| 29 | 
            +
                none: false
         | 
| 30 | 
            +
              prerelease: false
         | 
| 31 | 
            +
              type: :runtime
         | 
| 32 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 33 | 
            +
              name: jruby-openssl
         | 
| 34 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 35 | 
            +
                requirements:
         | 
| 36 | 
            +
                - - ! '>='
         | 
| 37 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 38 | 
            +
                    version: !binary |-
         | 
| 39 | 
            +
                      MA==
         | 
| 40 | 
            +
                none: false
         | 
| 41 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 42 | 
            +
                requirements:
         | 
| 43 | 
            +
                - - ! '>='
         | 
| 44 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 45 | 
            +
                    version: !binary |-
         | 
| 46 | 
            +
                      MA==
         | 
| 47 | 
            +
                none: false
         | 
| 48 | 
            +
              prerelease: false
         | 
| 49 | 
            +
              type: :runtime
         | 
| 50 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 51 | 
            +
              name: nokogiri
         | 
| 52 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 53 | 
            +
                requirements:
         | 
| 54 | 
            +
                - - ! '>='
         | 
| 55 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 56 | 
            +
                    version: 1.5.0.beta.4
         | 
| 57 | 
            +
                none: false
         | 
| 58 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 59 | 
            +
                requirements:
         | 
| 60 | 
            +
                - - ! '>='
         | 
| 61 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 62 | 
            +
                    version: 1.5.0.beta.4
         | 
| 63 | 
            +
                none: false
         | 
| 64 | 
            +
              prerelease: false
         | 
| 65 | 
            +
              type: :runtime
         | 
| 66 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 67 | 
            +
              name: rake
         | 
| 68 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 69 | 
            +
                requirements:
         | 
| 70 | 
            +
                - - ! '>='
         | 
| 71 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 72 | 
            +
                    version: !binary |-
         | 
| 73 | 
            +
                      MA==
         | 
| 74 | 
            +
                none: false
         | 
| 75 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 76 | 
            +
                requirements:
         | 
| 77 | 
            +
                - - ! '>='
         | 
| 78 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 79 | 
            +
                    version: !binary |-
         | 
| 80 | 
            +
                      MA==
         | 
| 81 | 
            +
                none: false
         | 
| 82 | 
            +
              prerelease: false
         | 
| 83 | 
            +
              type: :development
         | 
| 84 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 85 | 
            +
              name: rspec
         | 
| 86 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 87 | 
            +
                requirements:
         | 
| 88 | 
            +
                - - ! '>='
         | 
| 89 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 90 | 
            +
                    version: '2.5'
         | 
| 91 | 
            +
                none: false
         | 
| 92 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 93 | 
            +
                requirements:
         | 
| 94 | 
            +
                - - ! '>='
         | 
| 95 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 96 | 
            +
                    version: '2.5'
         | 
| 97 | 
            +
                none: false
         | 
| 98 | 
            +
              prerelease: false
         | 
| 99 | 
            +
              type: :development
         | 
| 100 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 101 | 
            +
              name: rspec-given
         | 
| 102 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 103 | 
            +
                requirements:
         | 
| 104 | 
            +
                - - ! '>='
         | 
| 105 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 106 | 
            +
                    version: !binary |-
         | 
| 107 | 
            +
                      MA==
         | 
| 108 | 
            +
                none: false
         | 
| 109 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 110 | 
            +
                requirements:
         | 
| 111 | 
            +
                - - ! '>='
         | 
| 112 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 113 | 
            +
                    version: !binary |-
         | 
| 114 | 
            +
                      MA==
         | 
| 115 | 
            +
                none: false
         | 
| 116 | 
            +
              prerelease: false
         | 
| 117 | 
            +
              type: :development
         | 
| 118 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 119 | 
            +
              name: aruba
         | 
| 120 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 121 | 
            +
                requirements:
         | 
| 122 | 
            +
                - - ! '>='
         | 
| 123 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 124 | 
            +
                    version: !binary |-
         | 
| 125 | 
            +
                      MA==
         | 
| 126 | 
            +
                none: false
         | 
| 127 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 128 | 
            +
                requirements:
         | 
| 129 | 
            +
                - - ! '>='
         | 
| 130 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 131 | 
            +
                    version: !binary |-
         | 
| 132 | 
            +
                      MA==
         | 
| 133 | 
            +
                none: false
         | 
| 134 | 
            +
              prerelease: false
         | 
| 135 | 
            +
              type: :development
         | 
| 136 | 
            +
            description: ! "This utility presents hints and suggestions to\n  give you an idea\
         | 
| 137 | 
            +
              \ of potentially troublesome spots in your code and\n  dependencies that keep your\
         | 
| 138 | 
            +
              \ code from running efficiently on JRuby.\n\n  Most pure Ruby code will run fine,\
         | 
| 139 | 
            +
              \ but the two common areas that\n  trip people up are native extensions and threading"
         | 
| 140 | 
            +
            email:
         | 
| 141 | 
            +
            - nick@nicksieger.com
         | 
| 142 | 
            +
            executables:
         | 
| 143 | 
            +
            - jrlint
         | 
| 103 144 | 
             
            extensions: []
         | 
| 104 | 
            -
             | 
| 105 145 | 
             
            extra_rdoc_files: []
         | 
| 106 | 
            -
             | 
| 107 | 
            -
             | 
| 108 | 
            -
             | 
| 109 | 
            -
             | 
| 110 | 
            -
             | 
| 111 | 
            -
             | 
| 112 | 
            -
             | 
| 113 | 
            -
             | 
| 114 | 
            -
             | 
| 115 | 
            -
             | 
| 116 | 
            -
             | 
| 117 | 
            -
             | 
| 118 | 
            -
             | 
| 119 | 
            -
             | 
| 120 | 
            -
             | 
| 121 | 
            -
             | 
| 122 | 
            -
             | 
| 123 | 
            -
             | 
| 124 | 
            -
             | 
| 125 | 
            -
             | 
| 126 | 
            -
             | 
| 127 | 
            -
             | 
| 128 | 
            -
             | 
| 129 | 
            -
             | 
| 130 | 
            -
             | 
| 131 | 
            -
             | 
| 132 | 
            -
             | 
| 133 | 
            -
             | 
| 134 | 
            -
             | 
| 135 | 
            -
             | 
| 136 | 
            -
             | 
| 137 | 
            -
             | 
| 138 | 
            -
             | 
| 139 | 
            -
             | 
| 140 | 
            -
             | 
| 141 | 
            -
             | 
| 142 | 
            -
             | 
| 143 | 
            -
             | 
| 144 | 
            -
             | 
| 145 | 
            -
             | 
| 146 | 
            -
             | 
| 147 | 
            -
             | 
| 148 | 
            -
             | 
| 149 | 
            -
             | 
| 150 | 
            -
             | 
| 151 | 
            -
             | 
| 152 | 
            -
              - spec/spec_helper.rb
         | 
| 146 | 
            +
            files:
         | 
| 147 | 
            +
            - .gitignore
         | 
| 148 | 
            +
            - Gemfile
         | 
| 149 | 
            +
            - Gemfile.lock
         | 
| 150 | 
            +
            - Guardfile
         | 
| 151 | 
            +
            - History.txt
         | 
| 152 | 
            +
            - README.md
         | 
| 153 | 
            +
            - Rakefile
         | 
| 154 | 
            +
            - bin/jrlint
         | 
| 155 | 
            +
            - jruby-lint.gemspec
         | 
| 156 | 
            +
            - lib/jruby/lint.rb
         | 
| 157 | 
            +
            - lib/jruby/lint/ast.rb
         | 
| 158 | 
            +
            - lib/jruby/lint/checkers.rb
         | 
| 159 | 
            +
            - lib/jruby/lint/checkers/fork_exec.rb
         | 
| 160 | 
            +
            - lib/jruby/lint/checkers/gem.rb
         | 
| 161 | 
            +
            - lib/jruby/lint/checkers/gemspec.rb
         | 
| 162 | 
            +
            - lib/jruby/lint/checkers/object_space.rb
         | 
| 163 | 
            +
            - lib/jruby/lint/checkers/system.rb
         | 
| 164 | 
            +
            - lib/jruby/lint/checkers/thread_critical.rb
         | 
| 165 | 
            +
            - lib/jruby/lint/checkers/timeout.rb
         | 
| 166 | 
            +
            - lib/jruby/lint/cli.rb
         | 
| 167 | 
            +
            - lib/jruby/lint/collectors.rb
         | 
| 168 | 
            +
            - lib/jruby/lint/collectors/bundler.rb
         | 
| 169 | 
            +
            - lib/jruby/lint/collectors/gemspec.rb
         | 
| 170 | 
            +
            - lib/jruby/lint/collectors/rake.rb
         | 
| 171 | 
            +
            - lib/jruby/lint/collectors/ruby.rb
         | 
| 172 | 
            +
            - lib/jruby/lint/finding.rb
         | 
| 173 | 
            +
            - lib/jruby/lint/github.crt
         | 
| 174 | 
            +
            - lib/jruby/lint/libraries.rb
         | 
| 175 | 
            +
            - lib/jruby/lint/project.rb
         | 
| 176 | 
            +
            - lib/jruby/lint/reporters.rb
         | 
| 177 | 
            +
            - lib/jruby/lint/reporters/html.rb
         | 
| 178 | 
            +
            - lib/jruby/lint/reporters/jruby-lint.html.erb
         | 
| 179 | 
            +
            - lib/jruby/lint/reporters/text.rb
         | 
| 180 | 
            +
            - lib/jruby/lint/version.rb
         | 
| 181 | 
            +
            - spec/fixtures/C-Extension-Alternatives.html
         | 
| 182 | 
            +
            - spec/jruby/lint/ast_spec.rb
         | 
| 183 | 
            +
            - spec/jruby/lint/checkers_spec.rb
         | 
| 184 | 
            +
            - spec/jruby/lint/cli_spec.rb
         | 
| 185 | 
            +
            - spec/jruby/lint/collectors_spec.rb
         | 
| 186 | 
            +
            - spec/jruby/lint/finding_spec.rb
         | 
| 187 | 
            +
            - spec/jruby/lint/libraries_spec.rb
         | 
| 188 | 
            +
            - spec/jruby/lint/project_spec.rb
         | 
| 189 | 
            +
            - spec/jruby/lint/reporters_spec.rb
         | 
| 190 | 
            +
            - spec/jruby/lint/version_spec.rb
         | 
| 191 | 
            +
            - spec/spec_helper.rb
         | 
| 153 192 | 
             
            homepage: https://github.com/jruby/jruby-lint
         | 
| 154 193 | 
             
            licenses: []
         | 
| 155 | 
            -
             | 
| 156 | 
            -
            post_install_message: 
         | 
| 194 | 
            +
            post_install_message:
         | 
| 157 195 | 
             
            rdoc_options: []
         | 
| 158 | 
            -
             | 
| 159 | 
            -
             | 
| 160 | 
            -
             | 
| 161 | 
            -
             | 
| 196 | 
            +
            require_paths:
         | 
| 197 | 
            +
            - lib
         | 
| 198 | 
            +
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 199 | 
            +
              requirements:
         | 
| 200 | 
            +
              - - ! '>='
         | 
| 201 | 
            +
                - !ruby/object:Gem::Version
         | 
| 202 | 
            +
                  segments:
         | 
| 203 | 
            +
                  - 0
         | 
| 204 | 
            +
                  hash: 2
         | 
| 205 | 
            +
                  version: !binary |-
         | 
| 206 | 
            +
                    MA==
         | 
| 162 207 | 
             
              none: false
         | 
| 163 | 
            -
             | 
| 164 | 
            -
             | 
| 165 | 
            -
             | 
| 166 | 
            -
             | 
| 167 | 
            -
             | 
| 168 | 
            -
             | 
| 169 | 
            -
             | 
| 170 | 
            -
             | 
| 208 | 
            +
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 209 | 
            +
              requirements:
         | 
| 210 | 
            +
              - - ! '>='
         | 
| 211 | 
            +
                - !ruby/object:Gem::Version
         | 
| 212 | 
            +
                  segments:
         | 
| 213 | 
            +
                  - 0
         | 
| 214 | 
            +
                  hash: 2
         | 
| 215 | 
            +
                  version: !binary |-
         | 
| 216 | 
            +
                    MA==
         | 
| 171 217 | 
             
              none: false
         | 
| 172 | 
            -
              requirements: 
         | 
| 173 | 
            -
                - - ">="
         | 
| 174 | 
            -
                  - !ruby/object:Gem::Version 
         | 
| 175 | 
            -
                    hash: 2
         | 
| 176 | 
            -
                    segments: 
         | 
| 177 | 
            -
                      - 0
         | 
| 178 | 
            -
                    version: "0"
         | 
| 179 218 | 
             
            requirements: []
         | 
| 180 | 
            -
             | 
| 181 219 | 
             
            rubyforge_project: jruby-lint
         | 
| 182 | 
            -
            rubygems_version: 1.8. | 
| 183 | 
            -
            signing_key: | 
| 220 | 
            +
            rubygems_version: 1.8.24
         | 
| 221 | 
            +
            signing_key:
         | 
| 184 222 | 
             
            specification_version: 3
         | 
| 185 223 | 
             
            summary: See how ready your Ruby code is to run on JRuby.
         | 
| 186 | 
            -
            test_files: | 
| 187 | 
            -
             | 
| 188 | 
            -
             | 
| 189 | 
            -
             | 
| 190 | 
            -
             | 
| 191 | 
            -
             | 
| 192 | 
            -
             | 
| 193 | 
            -
             | 
| 194 | 
            -
             | 
| 195 | 
            -
             | 
| 196 | 
            -
             | 
| 197 | 
            -
             | 
| 224 | 
            +
            test_files:
         | 
| 225 | 
            +
            - spec/fixtures/C-Extension-Alternatives.html
         | 
| 226 | 
            +
            - spec/jruby/lint/ast_spec.rb
         | 
| 227 | 
            +
            - spec/jruby/lint/checkers_spec.rb
         | 
| 228 | 
            +
            - spec/jruby/lint/cli_spec.rb
         | 
| 229 | 
            +
            - spec/jruby/lint/collectors_spec.rb
         | 
| 230 | 
            +
            - spec/jruby/lint/finding_spec.rb
         | 
| 231 | 
            +
            - spec/jruby/lint/libraries_spec.rb
         | 
| 232 | 
            +
            - spec/jruby/lint/project_spec.rb
         | 
| 233 | 
            +
            - spec/jruby/lint/reporters_spec.rb
         | 
| 234 | 
            +
            - spec/jruby/lint/version_spec.rb
         | 
| 235 | 
            +
            - spec/spec_helper.rb
         |