igrigorik/vimgolf

View on GitHub

Showing 25 of 25 total issues

Method play has a Cognitive Complexity of 45 (exceeds 5 allowed). Consider refactoring.
Open

def play(challenge)
begin
challenge.start
VimGolf.ui.warn "Launching VimGolf session for challenge: #{challenge.id}"
# -Z - restricted mode, utilities not allowed
Severity: Minor
Found in lib/vimgolf/lib/vimgolf/cli.rb - About 6 hrs to fix

Method play has 82 lines of code (exceeds 25 allowed). Consider refactoring.
Open

def play(challenge)
begin
challenge.start
VimGolf.ui.warn "Launching VimGolf session for challenge: #{challenge.id}"
# -Z - restricted mode, utilities not allowed
Severity: Major
Found in lib/vimgolf/lib/vimgolf/cli.rb - About 3 hrs to fix

    Method print_envs has a Cognitive Complexity of 18 (exceeds 5 allowed). Consider refactoring.
    Open

    def print_envs(apps, default_env_name = nil, simple = false)
    if simple
    envs = apps.map{ |a| a.environments }
    envs.flatten.map{|x| x.name}.uniq.each do |env|
    puts env
    Severity: Minor
    Found in lib/vimgolf/lib/vimgolf/ui.rb - About 2 hrs to fix

    Method each has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
    Open

    def each
    scanner = StringScanner.new(@input)
     
    # A Vim keycode is either a single byte, or a 3-byte sequence starting
    # with 0x80.
    Severity: Minor
    Found in lib/vimgolf/lib/vimgolf/keylog.rb - About 1 hr to fix

    Method download has 30 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

    def download
    @remote = true
    begin
    url = URI("#{GOLFHOST}/challenges/#{@id}.json")
    res = Net::HTTP.start(
    Severity: Minor
    Found in lib/vimgolf/lib/vimgolf/challenge.rb - About 1 hr to fix

      Method debug has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
      Open

      def debug(name, message = nil)
      return unless ENV["DEBUG"]
       
      if message
      message = message.inspect unless message.is_a?(String)
      Severity: Minor
      Found in lib/vimgolf/lib/vimgolf/ui.rb - About 1 hr to fix

      Method create has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
      Open

      def create
      if params[:entry] && params[:entry].size < 2
      @cheat = true
       
      elsif params['challenge_id'] && !params['apikey'].empty? && !params['apikey'].nil?
      Severity: Minor
      Found in app/controllers/entry_controller.rb - About 1 hr to fix

      Method create has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
      Open

      def create
      challenge = challenge_params
       
      challenge[:diff] = challenge.delete(:diff).read rescue nil
       
       
      Severity: Minor
      Found in app/controllers/challenges_controller.rb - About 1 hr to fix

      Possible command injection
      Open

      system(*vimcmd) # assembled as an array, bypasses the shell
      Severity: Minor
      Found in lib/vimgolf/lib/vimgolf/cli.rb by brakeman

      Parameters should be whitelisted for mass assignment
      Open

      params.require(:challenge).permit!

      Element (li.L8) is overqualified, just use .L8 without element name.
      Open

      li.L8 { list-style-type: none }
      Severity: Minor
      Found in app/assets/stylesheets/prettify.css by csslint

      Element (li.L0) is overqualified, just use .L0 without element name.
      Open

      li.L0,
      Severity: Minor
      Found in app/assets/stylesheets/prettify.css by csslint

      Rule doesn't have all its properties in alphabetical order.
      Open

      ol.linenums { margin-top: 0; margin-bottom: 0 } /* IE indents via margin-left */
      Severity: Minor
      Found in app/assets/stylesheets/prettify.css by csslint

      Element (li.L9) is overqualified, just use .L9 without element name.
      Open

      li.L9 { background: #eee }
      Severity: Minor
      Found in app/assets/stylesheets/prettify.css by csslint

      Rule doesn't have all its properties in alphabetical order.
      Open

      pre.prettyprint { padding: 1em; border: 1px solid #888 }
      Severity: Minor
      Found in app/assets/stylesheets/prettify.css by csslint

      Element (li.L6) is overqualified, just use .L6 without element name.
      Open

      li.L6,
      Severity: Minor
      Found in app/assets/stylesheets/prettify.css by csslint

      Denial of Service Vulnerability in ActiveRecord’s PostgreSQL adapter
      Open

      activerecord (5.2.8.1)
      Severity: Minor
      Found in Gemfile.lock by bundler-audit

      Element (ol.linenums) is overqualified, just use .linenums without element name.
      Open

      ol.linenums { margin-top: 0; margin-bottom: 0 } /* IE indents via margin-left */
      Severity: Minor
      Found in app/assets/stylesheets/prettify.css by csslint

      ReDoS based DoS vulnerability in Action Dispatch
      Open

      actionpack (5.2.8.1)
      Severity: Minor
      Found in Gemfile.lock by bundler-audit

      Element (li.L2) is overqualified, just use .L2 without element name.
      Open

      li.L2,
      Severity: Minor
      Found in app/assets/stylesheets/prettify.css by csslint
      Severity
      Category
      Status
      Source
      Language