diff --git a/Dockerfile b/Dockerfile index 25265bc8..3677880d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM codeclimate/codeclimate-parser:b962 +FROM codeclimate/codeclimate-parser:b946 LABEL maintainer="Code Climate " # Reset from base image diff --git a/Gemfile b/Gemfile index cb12421b..efbc0b0d 100644 --- a/Gemfile +++ b/Gemfile @@ -2,8 +2,8 @@ source "https://rubygems.org" gem "concurrent-ruby", "~> 1.0.0" -gem "flay", "~> 2.13.1" -gem "sexp_processor", "~> 4.17" +gem "flay", "~> 2.12" +gem "sexp_processor", "~> 4.11" gem "codeclimate-parser-client", path: "/home/app/codeclimate-parser-client" diff --git a/Gemfile.lock b/Gemfile.lock index a47d6b75..f7f6fd51 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -3,44 +3,46 @@ PATH specs: codeclimate-parser-client (0.0.0) ast (~> 2.3) - excon (~> 0.99.0) + excon (~> 0.57.0) GEM remote: https://rubygems.org/ specs: - ast (2.4.2) - coderay (1.1.3) - concurrent-ruby (1.0.5) - diff-lcs (1.5.0) - erubi (1.12.0) - excon (0.99.0) - flay (2.13.1) - erubi (~> 1.10) + ast (2.3.0) + coderay (1.1.0) + concurrent-ruby (1.0.0) + diff-lcs (1.2.5) + erubis (2.7.0) + excon (0.57.1) + flay (2.12.0) + erubis (~> 2.7.0) path_expander (~> 1.0) ruby_parser (~> 3.0) sexp_processor (~> 4.0) - method_source (1.0.0) - path_expander (1.1.1) - pry (0.14.2) - coderay (~> 1.1) - method_source (~> 1.0) - rake (13.1.0) - rspec (3.12.0) - rspec-core (~> 3.12.0) - rspec-expectations (~> 3.12.0) - rspec-mocks (~> 3.12.0) - rspec-core (3.12.2) - rspec-support (~> 3.12.0) - rspec-expectations (3.12.3) + method_source (0.8.2) + path_expander (1.0.3) + pry (0.10.3) + coderay (~> 1.1.0) + method_source (~> 0.8.1) + slop (~> 3.4) + rake (10.4.2) + rspec (3.3.0) + rspec-core (~> 3.3.0) + rspec-expectations (~> 3.3.0) + rspec-mocks (~> 3.3.0) + rspec-core (3.3.2) + rspec-support (~> 3.3.0) + rspec-expectations (3.3.1) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.12.0) - rspec-mocks (3.12.6) + rspec-support (~> 3.3.0) + rspec-mocks (3.3.2) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.12.0) - rspec-support (3.12.1) - ruby_parser (3.20.3) - sexp_processor (~> 4.16) - sexp_processor (4.17.0) + rspec-support (~> 3.3.0) + rspec-support (3.3.0) + ruby_parser (3.11.0) + sexp_processor (~> 4.9) + sexp_processor (4.11.0) + slop (3.6.0) PLATFORMS ruby @@ -48,11 +50,11 @@ PLATFORMS DEPENDENCIES codeclimate-parser-client! concurrent-ruby (~> 1.0.0) - flay (~> 2.13.1) + flay (~> 2.12) pry rake rspec - sexp_processor (~> 4.17) + sexp_processor (~> 4.11) BUNDLED WITH - 2.4.22 + 2.3.12 diff --git a/lib/cc/engine/analyzers/analyzer_base.rb b/lib/cc/engine/analyzers/analyzer_base.rb index cb7c2bba..aa144ceb 100644 --- a/lib/cc/engine/analyzers/analyzer_base.rb +++ b/lib/cc/engine/analyzers/analyzer_base.rb @@ -1,51 +1,5 @@ # frozen_string_literal: true -# Monkey patch for Parser class -# used in language analyzers via Sexp::Matcher.parse -# https://github.com/seattlerb/sexp_processor/blob/master/lib/sexp_matcher.rb -class Sexp - class Matcher < Sexp - class Parser - def parse_sexp - token = next_token - - case token - when "(" then - parse_list - when "[" then - parse_cmd - when "nil" then - nil - when /^\d+$/ then - token.to_i - when "___" then - Sexp.___ - when "_" then - Sexp._ - when %r%^/(.*)/$% then - re = $1 - raise SyntaxError, "Not allowed: /%p/" % [re] unless - re =~ /\A([\w()|.*+^$]+)\z/ - Regexp.new re - when /^"(.*)"$/ then - $1 - when /^([A-Z]\w*)$/ then - if Object.const_defined?($1) - Object.const_get $1 - else - # Handle as a symbol or string - $1.to_sym # or return $1 as a string - end - when /^:?([\w?!=~-]+)$/ then - $1.to_sym - else - raise SyntaxError, "unhandled token: %p" % [token] - end - end - end - end -end - require "cc/engine/analyzers/parser_error" require "cc/engine/analyzers/parser_base" require "cc/engine/analyzers/file_list" diff --git a/spec/cc/engine/analyzers/ruby/main_spec.rb b/spec/cc/engine/analyzers/ruby/main_spec.rb index f9743816..1b892275 100644 --- a/spec/cc/engine/analyzers/ruby/main_spec.rb +++ b/spec/cc/engine/analyzers/ruby/main_spec.rb @@ -61,10 +61,10 @@ def self.from_remediation_amount(amount) expect(json["location"]).to eq({ "path" => "foo.rb", - "lines" => { "begin" => 2, "end" => 11 }, + "lines" => { "begin" => 2, "end" => 12 }, }) expect(json["other_locations"]).to eq([ - {"path" => "foo.rb", "lines" => { "begin" => 18, "end" => 27} }, + {"path" => "foo.rb", "lines" => { "begin" => 18, "end" => 28} }, ]) end diff --git a/spec/cc/engine/analyzers/sexp_lines_spec.rb b/spec/cc/engine/analyzers/sexp_lines_spec.rb index 2dc04938..77ab6c02 100644 --- a/spec/cc/engine/analyzers/sexp_lines_spec.rb +++ b/spec/cc/engine/analyzers/sexp_lines_spec.rb @@ -18,9 +18,9 @@ module CC::Engine::Analyzers expect(locations.count).to eq 2 expect(locations[0].begin_line).to eq(3) - expect(locations[0].end_line).to eq(4) + expect(locations[0].end_line).to eq(7) expect(locations[1].begin_line).to eq(5) - expect(locations[1].end_line).to eq(6) + expect(locations[1].end_line).to eq(7) end it "gets appropriate locations for hashes" do pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy