kimjunh/giver-game

View on GitHub
app/controllers/games_controller.rb

Summary

Maintainability
C
1 day
Test Coverage

Class has too many lines. [202/100]
Open

class GamesController < ApplicationController

  def game_params
    params.require(:game).permit(:title, :description, :total_money, :per_transaction, :charityA_title, :descriptionA, :charityB_title, :descriptionB, :expiration_time, :tutorial, :show_results, :charityA_image, :charityB_image, :charityA_image_cache, :charityB_image_cache)
  end
Severity: Minor
Found in app/controllers/games_controller.rb by rubocop

This cop checks if the length a class exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

Assignment Branch Condition size for update is too high. [46.59/15]
Open

  def update
    game = GivingGame.find(params[:id])
    gp = game_params
    begin 
      if gp[:expiration_time]
Severity: Minor
Found in app/controllers/games_controller.rb by rubocop

This cop checks that the ABC size of methods is not higher than the configured maximum. The ABC size is based on assignments, branches (method calls), and conditions. See http://c2.com/cgi/wiki?AbcMetric

Assignment Branch Condition size for check_if_played_and_reroute is too high. [44.84/15]
Open

  def check_if_played_and_reroute
    game = GivingGame.find(params[:id])
    
    if !game.tutorial
      if current_user.present? and current_user.played_games.include? game.id
Severity: Minor
Found in app/controllers/games_controller.rb by rubocop

This cop checks that the ABC size of methods is not higher than the configured maximum. The ABC size is based on assignments, branches (method calls), and conditions. See http://c2.com/cgi/wiki?AbcMetric

Method has too many lines. [38/10]
Open

  def create
    success = true
    gp = game_params
    begin 
      if gp[:expiration_time]
Severity: Minor
Found in app/controllers/games_controller.rb by rubocop

This cop checks if the length of a method exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

Assignment Branch Condition size for create is too high. [40.01/15]
Open

  def create
    success = true
    gp = game_params
    begin 
      if gp[:expiration_time]
Severity: Minor
Found in app/controllers/games_controller.rb by rubocop

This cop checks that the ABC size of methods is not higher than the configured maximum. The ABC size is based on assignments, branches (method calls), and conditions. See http://c2.com/cgi/wiki?AbcMetric

Method has too many lines. [32/10]
Open

  def update
    game = GivingGame.find(params[:id])
    gp = game_params
    begin 
      if gp[:expiration_time]
Severity: Minor
Found in app/controllers/games_controller.rb by rubocop

This cop checks if the length of a method exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

Method has too many lines. [31/10]
Open

  def check_if_played_and_reroute
    game = GivingGame.find(params[:id])
    
    if !game.tutorial
      if current_user.present? and current_user.played_games.include? game.id
Severity: Minor
Found in app/controllers/games_controller.rb by rubocop

This cop checks if the length of a method exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

Assignment Branch Condition size for results is too high. [28.67/15]
Open

  def results
    @game = GivingGame.find(params[:id])
    @owner = @game.user_id
    @expired = @game.expired
    @charityVotedFor = params[:charity]
Severity: Minor
Found in app/controllers/games_controller.rb by rubocop

This cop checks that the ABC size of methods is not higher than the configured maximum. The ABC size is based on assignments, branches (method calls), and conditions. See http://c2.com/cgi/wiki?AbcMetric

Method has too many lines. [21/10]
Open

  def results
    @game = GivingGame.find(params[:id])
    @owner = @game.user_id
    @expired = @game.expired
    @charityVotedFor = params[:charity]
Severity: Minor
Found in app/controllers/games_controller.rb by rubocop

This cop checks if the length of a method exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

Method has too many lines. [20/10]
Open

  def play_game
    chosen_game = GivingGame.find(params[:id])

    if current_user.nil? and !chosen_game.tutorial?
      flash[:warning] = "You must be logged in to play an actual giving game."
Severity: Minor
Found in app/controllers/games_controller.rb by rubocop

This cop checks if the length of a method exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

Assignment Branch Condition size for play_game is too high. [24.88/15]
Open

  def play_game
    chosen_game = GivingGame.find(params[:id])

    if current_user.nil? and !chosen_game.tutorial?
      flash[:warning] = "You must be logged in to play an actual giving game."
Severity: Minor
Found in app/controllers/games_controller.rb by rubocop

This cop checks that the ABC size of methods is not higher than the configured maximum. The ABC size is based on assignments, branches (method calls), and conditions. See http://c2.com/cgi/wiki?AbcMetric

Perceived complexity for check_if_played_and_reroute is too high. [13/7]
Open

  def check_if_played_and_reroute
    game = GivingGame.find(params[:id])
    
    if !game.tutorial
      if current_user.present? and current_user.played_games.include? game.id
Severity: Minor
Found in app/controllers/games_controller.rb by rubocop

This cop tries to produce a complexity score that's a measure of the complexity the reader experiences when looking at a method. For that reason it considers when nodes as something that doesn't add as much complexity as an if or a &&. Except if it's one of those special case/when constructs where there's no expression after case. Then the cop treats it as an if/elsif/elsif... and lets all the when nodes count. In contrast to the CyclomaticComplexity cop, this cop considers else nodes as adding complexity.

Example:

def my_method                   # 1
  if cond                       # 1
    case var                    # 2 (0.8 + 4 * 0.2, rounded)
    when 1 then func_one
    when 2 then func_two
    when 3 then func_three
    when 4..10 then func_other
    end
  else                          # 1
    do_something until a && b   # 2
  end                           # ===
end                             # 7 complexity points

Cyclomatic complexity for check_if_played_and_reroute is too high. [10/6]
Open

  def check_if_played_and_reroute
    game = GivingGame.find(params[:id])
    
    if !game.tutorial
      if current_user.present? and current_user.played_games.include? game.id
Severity: Minor
Found in app/controllers/games_controller.rb by rubocop

This cop checks that the cyclomatic complexity of methods is not higher than the configured maximum. The cyclomatic complexity is the number of linearly independent paths through a method. The algorithm counts decision points and adds one.

An if statement (or unless or ?:) increases the complexity by one. An else branch does not, since it doesn't add a decision point. The && operator (or keyword and) can be converted to a nested if statement, and ||/or is shorthand for a sequence of ifs, so they also add one. Loops can be said to have an exit condition, so they add one.

Perceived complexity for create is too high. [10/7]
Open

  def create
    success = true
    gp = game_params
    begin 
      if gp[:expiration_time]
Severity: Minor
Found in app/controllers/games_controller.rb by rubocop

This cop tries to produce a complexity score that's a measure of the complexity the reader experiences when looking at a method. For that reason it considers when nodes as something that doesn't add as much complexity as an if or a &&. Except if it's one of those special case/when constructs where there's no expression after case. Then the cop treats it as an if/elsif/elsif... and lets all the when nodes count. In contrast to the CyclomaticComplexity cop, this cop considers else nodes as adding complexity.

Example:

def my_method                   # 1
  if cond                       # 1
    case var                    # 2 (0.8 + 4 * 0.2, rounded)
    when 1 then func_one
    when 2 then func_two
    when 3 then func_three
    when 4..10 then func_other
    end
  else                          # 1
    do_something until a && b   # 2
  end                           # ===
end                             # 7 complexity points

Perceived complexity for update is too high. [8/7]
Open

  def update
    game = GivingGame.find(params[:id])
    gp = game_params
    begin 
      if gp[:expiration_time]
Severity: Minor
Found in app/controllers/games_controller.rb by rubocop

This cop tries to produce a complexity score that's a measure of the complexity the reader experiences when looking at a method. For that reason it considers when nodes as something that doesn't add as much complexity as an if or a &&. Except if it's one of those special case/when constructs where there's no expression after case. Then the cop treats it as an if/elsif/elsif... and lets all the when nodes count. In contrast to the CyclomaticComplexity cop, this cop considers else nodes as adding complexity.

Example:

def my_method                   # 1
  if cond                       # 1
    case var                    # 2 (0.8 + 4 * 0.2, rounded)
    when 1 then func_one
    when 2 then func_two
    when 3 then func_three
    when 4..10 then func_other
    end
  else                          # 1
    do_something until a && b   # 2
  end                           # ===
end                             # 7 complexity points

Cyclomatic complexity for create is too high. [7/6]
Open

  def create
    success = true
    gp = game_params
    begin 
      if gp[:expiration_time]
Severity: Minor
Found in app/controllers/games_controller.rb by rubocop

This cop checks that the cyclomatic complexity of methods is not higher than the configured maximum. The cyclomatic complexity is the number of linearly independent paths through a method. The algorithm counts decision points and adds one.

An if statement (or unless or ?:) increases the complexity by one. An else branch does not, since it doesn't add a decision point. The && operator (or keyword and) can be converted to a nested if statement, and ||/or is shorthand for a sequence of ifs, so they also add one. Loops can be said to have an exit condition, so they add one.

Method create has 38 lines of code (exceeds 25 allowed). Consider refactoring.
Open

  def create
    success = true
    gp = game_params
    begin 
      if gp[:expiration_time]
Severity: Minor
Found in app/controllers/games_controller.rb - About 1 hr to fix

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

      def create
        success = true
        gp = game_params
        begin 
          if gp[:expiration_time]
    Severity: Minor
    Found in app/controllers/games_controller.rb - About 1 hr to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Method check_if_played_and_reroute has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring.
    Open

      def check_if_played_and_reroute
        game = GivingGame.find(params[:id])
        
        if !game.tutorial
          if current_user.present? and current_user.played_games.include? game.id
    Severity: Minor
    Found in app/controllers/games_controller.rb - About 1 hr to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Method update has 32 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

      def update
        game = GivingGame.find(params[:id])
        gp = game_params
        begin 
          if gp[:expiration_time]
    Severity: Minor
    Found in app/controllers/games_controller.rb - About 1 hr to fix

      Method check_if_played_and_reroute has 31 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

        def check_if_played_and_reroute
          game = GivingGame.find(params[:id])
          
          if !game.tutorial
            if current_user.present? and current_user.played_games.include? game.id
      Severity: Minor
      Found in app/controllers/games_controller.rb - About 1 hr to fix

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

          def update
            game = GivingGame.find(params[:id])
            gp = game_params
            begin 
              if gp[:expiration_time]
        Severity: Minor
        Found in app/controllers/games_controller.rb - About 1 hr to fix

        Cognitive Complexity

        Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

        A method's cognitive complexity is based on a few simple rules:

        • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
        • Code is considered more complex for each "break in the linear flow of the code"
        • Code is considered more complex when "flow breaking structures are nested"

        Further reading

        Method play_game has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
        Open

          def play_game
            chosen_game = GivingGame.find(params[:id])
        
            if current_user.nil? and !chosen_game.tutorial?
              flash[:warning] = "You must be logged in to play an actual giving game."
        Severity: Minor
        Found in app/controllers/games_controller.rb - About 25 mins to fix

        Cognitive Complexity

        Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

        A method's cognitive complexity is based on a few simple rules:

        • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
        • Code is considered more complex for each "break in the linear flow of the code"
        • Code is considered more complex when "flow breaking structures are nested"

        Further reading

        Use tr instead of gsub.
        Open

                totalMessage += "#{key.to_s().gsub('_', ' ').capitalize} #{message.join("', and'")}; "
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop identifies places where gsub can be replaced by tr or delete.

        Example:

        # bad
        'abc'.gsub('b', 'd')
        'abc'.gsub('a', '')
        'abc'.gsub(/a/, 'd')
        'abc'.gsub!('a', 'd')
        
        # good
        'abc'.gsub(/.*/, 'a')
        'abc'.gsub(/a+/, 'd')
        'abc'.tr('b', 'd')
        'a b c'.delete(' ')

        Use tr instead of gsub.
        Open

                totalMessage += "#{key.to_s().gsub('_', ' ').capitalize} #{message.join("', and'")}; "
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop identifies places where gsub can be replaced by tr or delete.

        Example:

        # bad
        'abc'.gsub('b', 'd')
        'abc'.gsub('a', '')
        'abc'.gsub(/a/, 'd')
        'abc'.gsub!('a', 'd')
        
        # good
        'abc'.gsub(/.*/, 'a')
        'abc'.gsub(/a+/, 'd')
        'abc'.tr('b', 'd')
        'a b c'.delete(' ')

        Space missing to the left of {.
        Open

            games = GivingGame.where(:tutorial => true).collect{|i| i}
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Checks that block braces have or don't have a space before the opening brace depending on configuration.

        Example:

        # bad
        foo.map{ |a|
          a.bar.to_s
        }
        
        # good
        foo.map { |a|
          a.bar.to_s
        }

        Space missing inside }.
        Open

            games = GivingGame.where(:tutorial => true).collect{|i| i}
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Checks that block braces have or don't have surrounding space inside them on configuration. For blocks taking parameters, it checks that the left brace has or doesn't have trailing space depending on configuration.

        Example: EnforcedStyle: space (default)

        # The `space` style enforces that block braces have
        # surrounding space.
        
        # bad
        some_array.each {puts e}
        
        # good
        some_array.each { puts e }

        Example: EnforcedStyle: no_space

        # The `no_space` style enforces that block braces don't
        # have surrounding space.
        
        # bad
        some_array.each { puts e }
        
        # good
        some_array.each {puts e}

        Example: EnforcedStyleForEmptyBraces: no_space (default)

        # The `no_space` EnforcedStyleForEmptyBraces style enforces that
        # block braces don't have a space in between when empty.
        
        # bad
        some_array.each {   }
        some_array.each {  }
        some_array.each { }
        
        # good
        some_array.each {}

        Example: EnforcedStyleForEmptyBraces: space

        # The `space` EnforcedStyleForEmptyBraces style enforces that
        # block braces have at least a spece in between when empty.
        
        # bad
        some_array.each {}
        
        # good
        some_array.each { }
        some_array.each {  }
        some_array.each {   }

        Example: SpaceBeforeBlockParameters: true (default)

        # The SpaceBeforeBlockParameters style set to `true` enforces that
        # there is a space between `{` and `|`. Overrides `EnforcedStyle`
        # if there is a conflict.
        
        # bad
        [1, 2, 3].each {|n| n * 2 }
        
        # good
        [1, 2, 3].each { |n| n * 2 }

        Example: SpaceBeforeBlockParameters: true

        # The SpaceBeforeBlockParameters style set to `false` enforces that
        # there is no space between `{` and `|`. Overrides `EnforcedStyle`
        # if there is a conflict.
        
        # bad
        [1, 2, 3].each { |n| n * 2 }
        
        # good
        [1, 2, 3].each {|n| n * 2 }

        Trailing whitespace detected.
        Open

          
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Trailing whitespace detected.
        Open

                  params.delete key  
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Use snake_case for variable names.
        Open

            @votesA = @game.votesA
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Use snake_case for variable names.
        Open

              @leadingCharity = @charityB
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Do not use parentheses for method calls with no arguments.
        Open

                totalMessage += "#{key.to_s().gsub('_', ' ').capitalize} #{message.join("', and'")}; "
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop checks for unwanted parentheses in parameterless method calls.

        Example:

        # bad
        object.some_method()
        
        # good
        object.some_method

        Prefer single-quoted strings when you don't need string interpolation or special symbols.
        Open

              totalMessage = ""
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Checks if uses of quotes match the configured preference.

        Example: EnforcedStyle: single_quotes (default)

        # bad
        "No special symbols"
        "No string interpolation"
        "Just text"
        
        # good
        'No special symbols'
        'No string interpolation'
        'Just text'
        "Wait! What's #{this}!"

        Example: EnforcedStyle: double_quotes

        # bad
        'Just some text'
        'No special chars or interpolation'
        
        # good
        "Just some text"
        "No special chars or interpolation"
        "Every string in #{project} uses double_quotes"

        Final newline missing.
        Open

        end
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Trailing whitespace detected.
        Open

            
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Line is too long. [94/80]
        Open

                totalMessage += "#{key.to_s().gsub('_', ' ').capitalize} #{message.join("', and'")}; "
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Use snake_case for variable names.
        Open

            total_moneyB = game.votesB * game.per_transaction
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Use snake_case for variable names.
        Open

              @descriptionA = @game.descriptionA
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Prefer Date or Time over DateTime.
        Open

            @games = GivingGame.where("expired = ? OR expiration_time < ?", true, DateTime.now)
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop checks for uses of DateTime that should be replaced by Date or Time.

        Example:

        # bad - uses `DateTime` for current time
        DateTime.now
        
        # good - uses `Time` for current time
        Time.now
        
        # bad - uses `DateTime` for modern date
        DateTime.iso8601('2016-06-29')
        
        # good - uses `Date` for modern date
        Date.iso8601('2016-06-29')
        
        # good - uses `DateTime` with start argument for historical date
        DateTime.iso8601('1751-04-23', Date::ENGLAND)

        Prefer single-quoted strings when you don't need string interpolation or special symbols.
        Open

            @games = GivingGame.where("expired = ? AND (expiration_time > ? OR expiration_time IS NULL)", false, DateTime.now)
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Checks if uses of quotes match the configured preference.

        Example: EnforcedStyle: single_quotes (default)

        # bad
        "No special symbols"
        "No string interpolation"
        "Just text"
        
        # good
        'No special symbols'
        'No string interpolation'
        'Just text'
        "Wait! What's #{this}!"

        Example: EnforcedStyle: double_quotes

        # bad
        'Just some text'
        'No special chars or interpolation'
        
        # good
        "Just some text"
        "No special chars or interpolation"
        "Every string in #{project} uses double_quotes"

        Use the return of the conditional for variable assignment and comparison.
        Open

            if @votesA > @votesB
              @leadingCharity = @charityA
            elsif @votesA < @votesB
              @leadingCharity = @charityB
            else
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Use a guard clause instead of wrapping the code inside a conditional expression.
        Open

            if session and session.key? :game
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Use a guard clause instead of wrapping the code inside a conditional expression

        Example:

        # bad
        def test
          if something
            work
          end
        end
        
        # good
        def test
          return unless something
          work
        end
        
        # also good
        def test
          work if something
        end
        
        # bad
        if something
          raise 'exception'
        else
          ok
        end
        
        # good
        raise 'exception' if something
        ok

        Use 2 (not 4) spaces for indentation.
        Open

                flash[:danger] = "Invalid date passed"
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cops checks for indentation that doesn't use the specified number of spaces.

        See also the IndentationConsistency cop which is the companion to this one.

        Example:

        # bad
        class A
         def test
          puts 'hello'
         end
        end
        
        # good
        class A
          def test
            puts 'hello'
          end
        end

        Example: IgnoredPatterns: ['^\s*module']

        # bad
        module A
        class B
          def test
          puts 'hello'
          end
        end
        end
        
        # good
        module A
        class B
          def test
            puts 'hello'
          end
        end
        end

        Line is too long. [94/80]
        Open

                totalMessage += "#{key.to_s().gsub('_', ' ').capitalize} #{message.join("', and'")}; "
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Line is too long. [118/80]
        Open

            @games = GivingGame.where("expired = ? AND (expiration_time > ? OR expiration_time IS NULL)", false, DateTime.now)
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Use snake_case for variable names.
        Open

              totalMessage = ""
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Use snake_case for variable names.
        Open

              @descriptionA = @game.descriptionA
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Use snake_case for variable names.
        Open

              @charityA = @game.charityA_title
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Use snake_case for variable names.
        Open

            @charityB = @game.charityB_title
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Use snake_case for variable names.
        Open

            @votes_progressA = (@current_moneyA / @total_money) * 100
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Use && instead of and.
        Open

                redirect_to play_index_path and return
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop checks for uses of and and or, and suggests using && and || instead. It can be configured to check only in conditions, or in all contexts.

        Example: EnforcedStyle: always (default)

        # bad
        foo.save and return
        
        # bad
        if foo and bar
        end
        
        # good
        foo.save && return
        
        # good
        if foo && bar
        end

        Example: EnforcedStyle: conditionals

        # bad
        if foo and bar
        end
        
        # good
        foo.save && return
        
        # good
        foo.save and return
        
        # good
        if foo && bar
        end

        Do not use parentheses for method calls with no arguments.
        Open

              game.save()
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop checks for unwanted parentheses in parameterless method calls.

        Example:

        # bad
        object.some_method()
        
        # good
        object.some_method

        Favor unless over if for negative conditions.
        Open

            if !game.tutorial
              if current_user.present? and current_user.played_games.include? game.id
                flash[:warning] = "You have already played that game."
                redirect_to play_index_path and return
              else
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Checks for uses of if with a negated condition. Only ifs without else are considered. There are three different styles:

        - both
        - prefix
        - postfix

        Example: EnforcedStyle: both (default)

        # enforces `unless` for `prefix` and `postfix` conditionals
        
        # bad
        
        if !foo
          bar
        end
        
        # good
        
        unless foo
          bar
        end
        
        # bad
        
        bar if !foo
        
        # good
        
        bar unless foo

        Example: EnforcedStyle: prefix

        # enforces `unless` for just `prefix` conditionals
        
        # bad
        
        if !foo
          bar
        end
        
        # good
        
        unless foo
          bar
        end
        
        # good
        
        bar if !foo

        Example: EnforcedStyle: postfix

        # enforces `unless` for just `postfix` conditionals
        
        # bad
        
        bar if !foo
        
        # good
        
        bar unless foo
        
        # good
        
        if !foo
          bar
        end

        Do not use parentheses for method calls with no arguments.
        Open

                totalMessage += "#{key.to_s().gsub('_', ' ').capitalize} #{message.join("', and'")}; "
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop checks for unwanted parentheses in parameterless method calls.

        Example:

        # bad
        object.some_method()
        
        # good
        object.some_method

        Favor unless over if for negative conditions.
        Open

              if !game.tutorial
                game.expired = true
                game.save
              end
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Checks for uses of if with a negated condition. Only ifs without else are considered. There are three different styles:

        - both
        - prefix
        - postfix

        Example: EnforcedStyle: both (default)

        # enforces `unless` for `prefix` and `postfix` conditionals
        
        # bad
        
        if !foo
          bar
        end
        
        # good
        
        unless foo
          bar
        end
        
        # bad
        
        bar if !foo
        
        # good
        
        bar unless foo

        Example: EnforcedStyle: prefix

        # enforces `unless` for just `prefix` conditionals
        
        # bad
        
        if !foo
          bar
        end
        
        # good
        
        unless foo
          bar
        end
        
        # good
        
        bar if !foo

        Example: EnforcedStyle: postfix

        # enforces `unless` for just `postfix` conditionals
        
        # bad
        
        bar if !foo
        
        # good
        
        bar unless foo
        
        # good
        
        if !foo
          bar
        end

        Trailing whitespace detected.
        Open

            begin 
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Trailing whitespace detected.
        Open

          
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Trailing whitespace detected.
        Open

          
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Trailing whitespace detected.
        Open

          
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Use snake_case for variable names.
        Open

            @votes_progressB = (@current_moneyB / @total_money) * 100
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Put empty method definitions on a single line.
        Open

          def home
          end
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop checks for the formatting of empty method definitions. By default it enforces empty method definitions to go on a single line (compact style), but it can be configured to enforce the end to go on its own line (expanded style).

        Note: A method definition is not considered empty if it contains comments.

        Example: EnforcedStyle: compact (default)

        # bad
        def foo(bar)
        end
        
        def self.foo(bar)
        end
        
        # good
        def foo(bar); end
        
        def foo(bar)
          # baz
        end
        
        def self.foo(bar); end

        Example: EnforcedStyle: expanded

        # bad
        def foo(bar); end
        
        def self.foo(bar); end
        
        # good
        def foo(bar)
        end
        
        def self.foo(bar)
        end

        Use the new Ruby 1.9 hash syntax.
        Open

            redirect_to play_game_path(:id => games[index].id)
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop checks hash literal syntax.

        It can enforce either the use of the class hash rocket syntax or the use of the newer Ruby 1.9 syntax (when applicable).

        A separate offense is registered for each problematic pair.

        The supported styles are:

        • ruby19 - forces use of the 1.9 syntax (e.g. {a: 1}) when hashes have all symbols for keys
        • hash_rockets - forces use of hash rockets for all hashes
        • nomixedkeys - simply checks for hashes with mixed syntaxes
        • ruby19nomixed_keys - forces use of ruby 1.9 syntax and forbids mixed syntax hashes

        Example: EnforcedStyle: ruby19 (default)

        # bad
        {:a => 2}
        {b: 1, :c => 2}
        
        # good
        {a: 2, b: 1}
        {:c => 2, 'd' => 2} # acceptable since 'd' isn't a symbol
        {d: 1, 'e' => 2} # technically not forbidden

        Example: EnforcedStyle: hash_rockets

        # bad
        {a: 1, b: 2}
        {c: 1, 'd' => 5}
        
        # good
        {:a => 1, :b => 2}

        Example: EnforcedStyle: nomixedkeys

        # bad
        {:a => 1, b: 2}
        {c: 1, 'd' => 2}
        
        # good
        {:a => 1, :b => 2}
        {c: 1, d: 2}

        Example: EnforcedStyle: ruby19nomixed_keys

        # bad
        {:a => 1, :b => 2}
        {c: 2, 'd' => 3} # should just use hash rockets
        
        # good
        {a: 1, b: 2}
        {:c => 3, 'd' => 4}

        Use snake_case for variable names.
        Open

              totalMessage = ""
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Use snake_case for variable names.
        Open

            @current_moneyB = @votesB * @game.per_transaction
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Use snake_case for variable names.
        Open

              @leadingCharity = nil
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Prefer single-quoted strings when you don't need string interpolation or special symbols.
        Open

              flash[:warning] = "You must be logged in to create a new giving game."
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Checks if uses of quotes match the configured preference.

        Example: EnforcedStyle: single_quotes (default)

        # bad
        "No special symbols"
        "No string interpolation"
        "Just text"
        
        # good
        'No special symbols'
        'No string interpolation'
        'Just text'
        "Wait! What's #{this}!"

        Example: EnforcedStyle: double_quotes

        # bad
        'Just some text'
        'No special chars or interpolation'
        
        # good
        "Just some text"
        "No special chars or interpolation"
        "Every string in #{project} uses double_quotes"

        Prefer single-quoted strings when you don't need string interpolation or special symbols.
        Open

                flash[:danger] = "Invalid date passed"
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Checks if uses of quotes match the configured preference.

        Example: EnforcedStyle: single_quotes (default)

        # bad
        "No special symbols"
        "No string interpolation"
        "Just text"
        
        # good
        'No special symbols'
        'No string interpolation'
        'Just text'
        "Wait! What's #{this}!"

        Example: EnforcedStyle: double_quotes

        # bad
        'Just some text'
        'No special chars or interpolation'
        
        # good
        "Just some text"
        "No special chars or interpolation"
        "Every string in #{project} uses double_quotes"

        Extra empty line detected at class body beginning.
        Open

        
          def game_params
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cops checks if empty lines around the bodies of classes match the configuration.

        Example: EnforcedStyle: empty_lines

        # good
        
        class Foo
        
          def bar
            # ...
          end
        
        end

        Example: EnforcedStyle: emptylinesexcept_namespace

        # good
        
        class Foo
          class Bar
        
            # ...
        
          end
        end

        Example: EnforcedStyle: emptylinesspecial

        # good
        class Foo
        
          def bar; end
        
        end

        Example: EnforcedStyle: noemptylines (default)

        # good
        
        class Foo
          def bar
            # ...
          end
        end

        Use 2 (not 4) spaces for indentation.
        Open

                flash[:danger] = "Invalid date passed"
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cops checks for indentation that doesn't use the specified number of spaces.

        See also the IndentationConsistency cop which is the companion to this one.

        Example:

        # bad
        class A
         def test
          puts 'hello'
         end
        end
        
        # good
        class A
          def test
            puts 'hello'
          end
        end

        Example: IgnoredPatterns: ['^\s*module']

        # bad
        module A
        class B
          def test
          puts 'hello'
          end
        end
        end
        
        # good
        module A
        class B
          def test
            puts 'hello'
          end
        end
        end

        Trailing whitespace detected.
        Open

            begin 
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Trailing whitespace detected.
        Open

          
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Use snake_case for variable names.
        Open

              @charityA = @game.charityA_title
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Use snake_case for variable names.
        Open

              @charityB = @game.charityB_title
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Prefer Date or Time over DateTime.
        Open

            @games = GivingGame.where("expired = ? AND (expiration_time > ? OR expiration_time IS NULL)", false, DateTime.now)
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop checks for uses of DateTime that should be replaced by Date or Time.

        Example:

        # bad - uses `DateTime` for current time
        DateTime.now
        
        # good - uses `Time` for current time
        Time.now
        
        # bad - uses `DateTime` for modern date
        DateTime.iso8601('2016-06-29')
        
        # good - uses `Date` for modern date
        Date.iso8601('2016-06-29')
        
        # good - uses `DateTime` with start argument for historical date
        DateTime.iso8601('1751-04-23', Date::ENGLAND)

        Do not use parentheses for method calls with no arguments.
        Open

            @game = GivingGame.new(session[:game]) || GivingGame.new()
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop checks for unwanted parentheses in parameterless method calls.

        Example:

        # bad
        object.some_method()
        
        # good
        object.some_method

        Prefer single-quoted strings when you don't need string interpolation or special symbols.
        Open

                flash[:danger] = "Invalid date passed"
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Checks if uses of quotes match the configured preference.

        Example: EnforcedStyle: single_quotes (default)

        # bad
        "No special symbols"
        "No string interpolation"
        "Just text"
        
        # good
        'No special symbols'
        'No string interpolation'
        'Just text'
        "Wait! What's #{this}!"

        Example: EnforcedStyle: double_quotes

        # bad
        'Just some text'
        'No special chars or interpolation'
        
        # good
        "Just some text"
        "No special chars or interpolation"
        "Every string in #{project} uses double_quotes"

        Prefer single-quoted strings when you don't need string interpolation or special symbols.
        Open

            @games = GivingGame.where("expired = ? OR expiration_time < ?", true, DateTime.now)
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Checks if uses of quotes match the configured preference.

        Example: EnforcedStyle: single_quotes (default)

        # bad
        "No special symbols"
        "No string interpolation"
        "Just text"
        
        # good
        'No special symbols'
        'No string interpolation'
        'Just text'
        "Wait! What's #{this}!"

        Example: EnforcedStyle: double_quotes

        # bad
        'Just some text'
        'No special chars or interpolation'
        
        # good
        "Just some text"
        "No special chars or interpolation"
        "Every string in #{project} uses double_quotes"

        Trailing whitespace detected.
        Open

            
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Trailing whitespace detected.
        Open

          
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Trailing whitespace detected.
        Open

          
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Use snake_case for variable names.
        Open

            @votesB = @game.votesB
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Use the return of the conditional for variable assignment and comparison.
        Open

              if @game.expiration_time?
                @expiration_time = @game.expiration_time.strftime("%m/%d/%Y")
              else
                @expiration_time = 'None'
              end
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Missing top-level class documentation comment.
        Open

        class GamesController < ApplicationController
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop checks for missing top-level documentation of classes and modules. Classes with no body are exempt from the check and so are namespace modules - modules that have nothing in their bodies except classes, other modules, or constant definitions.

        The documentation requirement is annulled if the class or module has a "#:nodoc:" comment next to it. Likewise, "#:nodoc: all" does the same for all its children.

        Example:

        # bad
        class Person
          # ...
        end
        
        # good
        # Description/Explanation of Person class
        class Person
          # ...
        end

        Favor modifier if usage when having a single-line body. Another good alternative is the usage of control flow &&/||.
        Open

            if session and session.key? :game
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Checks for if and unless statements that would fit on one line if written as a modifier if/unless. The maximum line length is configured in the Metrics/LineLength cop.

        Example:

        # bad
        if condition
          do_stuff(bar)
        end
        
        unless qux.empty?
          Foo.do_something
        end
        
        # good
        do_stuff(bar) if condition
        Foo.do_something unless qux.empty?

        Favor modifier if usage when having a single-line body. Another good alternative is the usage of control flow &&/||.
        Open

                if params.key? key 
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Checks for if and unless statements that would fit on one line if written as a modifier if/unless. The maximum line length is configured in the Metrics/LineLength cop.

        Example:

        # bad
        if condition
          do_stuff(bar)
        end
        
        unless qux.empty?
          Foo.do_something
        end
        
        # good
        do_stuff(bar) if condition
        Foo.do_something unless qux.empty?

        Prefer single-quoted strings when you don't need string interpolation or special symbols.
        Open

              flash[:success] = "Successfully edited."
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Checks if uses of quotes match the configured preference.

        Example: EnforcedStyle: single_quotes (default)

        # bad
        "No special symbols"
        "No string interpolation"
        "Just text"
        
        # good
        'No special symbols'
        'No string interpolation'
        'Just text'
        "Wait! What's #{this}!"

        Example: EnforcedStyle: double_quotes

        # bad
        'Just some text'
        'No special chars or interpolation'
        
        # good
        "Just some text"
        "No special chars or interpolation"
        "Every string in #{project} uses double_quotes"

        Use 2 (not 4) spaces for indentation.
        Open

              @game = GivingGame.find(params[:id])
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cops checks for indentation that doesn't use the specified number of spaces.

        See also the IndentationConsistency cop which is the companion to this one.

        Example:

        # bad
        class A
         def test
          puts 'hello'
         end
        end
        
        # good
        class A
          def test
            puts 'hello'
          end
        end

        Example: IgnoredPatterns: ['^\s*module']

        # bad
        module A
        class B
          def test
          puts 'hello'
          end
        end
        end
        
        # good
        module A
        class B
          def test
            puts 'hello'
          end
        end
        end

        Trailing whitespace detected.
        Open

          
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Trailing whitespace detected.
        Open

          
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Use snake_case for variable names.
        Open

              @descriptionB = @game.descriptionB
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Use snake_case for variable names.
        Open

            @charityVotedFor = params[:charity]
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Use snake_case for variable names.
        Open

            @charityA = @game.charityA_title
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Avoid rescuing without specifying an error class.
        Open

            rescue
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop checks for rescuing StandardError. There are two supported styles implicit and explicit. This cop will not register an offense if any error other than StandardError is specified.

        Example: EnforcedStyle: implicit

        # `implicit` will enforce using `rescue` instead of
        # `rescue StandardError`.
        
        # bad
        begin
          foo
        rescue StandardError
          bar
        end
        
        # good
        begin
          foo
        rescue
          bar
        end
        
        # good
        begin
          foo
        rescue OtherError
          bar
        end
        
        # good
        begin
          foo
        rescue StandardError, SecurityError
          bar
        end

        Example: EnforcedStyle: explicit (default)

        # `explicit` will enforce using `rescue StandardError`
        # instead of `rescue`.
        
        # bad
        begin
          foo
        rescue
          bar
        end
        
        # good
        begin
          foo
        rescue StandardError
          bar
        end
        
        # good
        begin
          foo
        rescue OtherError
          bar
        end
        
        # good
        begin
          foo
        rescue StandardError, SecurityError
          bar
        end

        Prefer single-quoted strings when you don't need string interpolation or special symbols.
        Open

                @expiration_time = @game.expiration_time.strftime("%m/%d/%Y")
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Checks if uses of quotes match the configured preference.

        Example: EnforcedStyle: single_quotes (default)

        # bad
        "No special symbols"
        "No string interpolation"
        "Just text"
        
        # good
        'No special symbols'
        'No string interpolation'
        'Just text'
        "Wait! What's #{this}!"

        Example: EnforcedStyle: double_quotes

        # bad
        'Just some text'
        'No special chars or interpolation'
        
        # good
        "Just some text"
        "No special chars or interpolation"
        "Every string in #{project} uses double_quotes"

        Trailing whitespace detected.
        Open

            
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Trailing whitespace detected.
        Open

            
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Use snake_case for variable names.
        Open

              @charityB = @game.charityB_title
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Use the return of the conditional for variable assignment and comparison.
        Open

                if gp[:expiration_time] == ''
                  gp[:expiration_time] = nil
                else
                  gp[:expiration_time] = Date.strptime(gp[:expiration_time], "%m/%d/%Y")
                end
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Prefer single-quoted strings when you don't need string interpolation or special symbols.
        Open

              totalMessage = ""
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Checks if uses of quotes match the configured preference.

        Example: EnforcedStyle: single_quotes (default)

        # bad
        "No special symbols"
        "No string interpolation"
        "Just text"
        
        # good
        'No special symbols'
        'No string interpolation'
        'Just text'
        "Wait! What's #{this}!"

        Example: EnforcedStyle: double_quotes

        # bad
        'Just some text'
        'No special chars or interpolation'
        
        # good
        "Just some text"
        "No special chars or interpolation"
        "Every string in #{project} uses double_quotes"

        Prefer single-quoted strings when you don't need string interpolation or special symbols.
        Open

                flash[:warning] = "You have already played that game."
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Checks if uses of quotes match the configured preference.

        Example: EnforcedStyle: single_quotes (default)

        # bad
        "No special symbols"
        "No string interpolation"
        "Just text"
        
        # good
        'No special symbols'
        'No string interpolation'
        'Just text'
        "Wait! What's #{this}!"

        Example: EnforcedStyle: double_quotes

        # bad
        'Just some text'
        'No special chars or interpolation'
        
        # good
        "Just some text"
        "No special chars or interpolation"
        "Every string in #{project} uses double_quotes"

        Space between { and | missing.
        Open

            games = GivingGame.where(:tutorial => true).collect{|i| i}
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Checks that block braces have or don't have surrounding space inside them on configuration. For blocks taking parameters, it checks that the left brace has or doesn't have trailing space depending on configuration.

        Example: EnforcedStyle: space (default)

        # The `space` style enforces that block braces have
        # surrounding space.
        
        # bad
        some_array.each {puts e}
        
        # good
        some_array.each { puts e }

        Example: EnforcedStyle: no_space

        # The `no_space` style enforces that block braces don't
        # have surrounding space.
        
        # bad
        some_array.each { puts e }
        
        # good
        some_array.each {puts e}

        Example: EnforcedStyleForEmptyBraces: no_space (default)

        # The `no_space` EnforcedStyleForEmptyBraces style enforces that
        # block braces don't have a space in between when empty.
        
        # bad
        some_array.each {   }
        some_array.each {  }
        some_array.each { }
        
        # good
        some_array.each {}

        Example: EnforcedStyleForEmptyBraces: space

        # The `space` EnforcedStyleForEmptyBraces style enforces that
        # block braces have at least a spece in between when empty.
        
        # bad
        some_array.each {}
        
        # good
        some_array.each { }
        some_array.each {  }
        some_array.each {   }

        Example: SpaceBeforeBlockParameters: true (default)

        # The SpaceBeforeBlockParameters style set to `true` enforces that
        # there is a space between `{` and `|`. Overrides `EnforcedStyle`
        # if there is a conflict.
        
        # bad
        [1, 2, 3].each {|n| n * 2 }
        
        # good
        [1, 2, 3].each { |n| n * 2 }

        Example: SpaceBeforeBlockParameters: true

        # The SpaceBeforeBlockParameters style set to `false` enforces that
        # there is no space between `{` and `|`. Overrides `EnforcedStyle`
        # if there is a conflict.
        
        # bad
        [1, 2, 3].each { |n| n * 2 }
        
        # good
        [1, 2, 3].each {|n| n * 2 }

        Line is too long. [274/80]
        Open

            params.require(:game).permit(:title, :description, :total_money, :per_transaction, :charityA_title, :descriptionA, :charityB_title, :descriptionB, :expiration_time, :tutorial, :show_results, :charityA_image, :charityB_image, :charityA_image_cache, :charityB_image_cache)
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Use snake_case for variable names.
        Open

            @charityVotedFor = params[:charity]
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Use && instead of and.
        Open

            if session and session[:game]
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop checks for uses of and and or, and suggests using && and || instead. It can be configured to check only in conditions, or in all contexts.

        Example: EnforcedStyle: always (default)

        # bad
        foo.save and return
        
        # bad
        if foo and bar
        end
        
        # good
        foo.save && return
        
        # good
        if foo && bar
        end

        Example: EnforcedStyle: conditionals

        # bad
        if foo and bar
        end
        
        # good
        foo.save && return
        
        # good
        foo.save and return
        
        # good
        if foo && bar
        end

        Avoid rescuing without specifying an error class.
        Open

            rescue
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop checks for rescuing StandardError. There are two supported styles implicit and explicit. This cop will not register an offense if any error other than StandardError is specified.

        Example: EnforcedStyle: implicit

        # `implicit` will enforce using `rescue` instead of
        # `rescue StandardError`.
        
        # bad
        begin
          foo
        rescue StandardError
          bar
        end
        
        # good
        begin
          foo
        rescue
          bar
        end
        
        # good
        begin
          foo
        rescue OtherError
          bar
        end
        
        # good
        begin
          foo
        rescue StandardError, SecurityError
          bar
        end

        Example: EnforcedStyle: explicit (default)

        # `explicit` will enforce using `rescue StandardError`
        # instead of `rescue`.
        
        # bad
        begin
          foo
        rescue
          bar
        end
        
        # good
        begin
          foo
        rescue StandardError
          bar
        end
        
        # good
        begin
          foo
        rescue OtherError
          bar
        end
        
        # good
        begin
          foo
        rescue StandardError, SecurityError
          bar
        end

        Prefer single-quoted strings when you don't need string interpolation or special symbols.
        Open

                  gp[:expiration_time] = Date.strptime(gp[:expiration_time], "%m/%d/%Y")
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Checks if uses of quotes match the configured preference.

        Example: EnforcedStyle: single_quotes (default)

        # bad
        "No special symbols"
        "No string interpolation"
        "Just text"
        
        # good
        'No special symbols'
        'No string interpolation'
        'Just text'
        "Wait! What's #{this}!"

        Example: EnforcedStyle: double_quotes

        # bad
        'Just some text'
        'No special chars or interpolation'
        
        # good
        "Just some text"
        "No special chars or interpolation"
        "Every string in #{project} uses double_quotes"

        Trailing whitespace detected.
        Open

          
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Trailing whitespace detected.
        Open

                if params.key? key 
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Line is too long. [87/80]
        Open

            @games = GivingGame.where("expired = ? OR expiration_time < ?", true, DateTime.now)
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Use snake_case for variable names.
        Open

              @showResults = @game.show_results
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Use snake_case for variable names.
        Open

            charityB = game.charityB_title
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Use snake_case for variable names.
        Open

            @current_moneyA = @votesA * @game.per_transaction
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Use snake_case for variable names.
        Open

            total_moneyA = game.votesA * game.per_transaction
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Use snake_case for variable names.
        Open

              @leadingCharity = @charityA
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Use snake_case for variable names.
        Open

              @descriptionB = @game.descriptionB
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Use the new Ruby 1.9 hash syntax.
        Open

            games = GivingGame.where(:tutorial => true).collect{|i| i}
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop checks hash literal syntax.

        It can enforce either the use of the class hash rocket syntax or the use of the newer Ruby 1.9 syntax (when applicable).

        A separate offense is registered for each problematic pair.

        The supported styles are:

        • ruby19 - forces use of the 1.9 syntax (e.g. {a: 1}) when hashes have all symbols for keys
        • hash_rockets - forces use of hash rockets for all hashes
        • nomixedkeys - simply checks for hashes with mixed syntaxes
        • ruby19nomixed_keys - forces use of ruby 1.9 syntax and forbids mixed syntax hashes

        Example: EnforcedStyle: ruby19 (default)

        # bad
        {:a => 2}
        {b: 1, :c => 2}
        
        # good
        {a: 2, b: 1}
        {:c => 2, 'd' => 2} # acceptable since 'd' isn't a symbol
        {d: 1, 'e' => 2} # technically not forbidden

        Example: EnforcedStyle: hash_rockets

        # bad
        {a: 1, b: 2}
        {c: 1, 'd' => 5}
        
        # good
        {:a => 1, :b => 2}

        Example: EnforcedStyle: nomixedkeys

        # bad
        {:a => 1, b: 2}
        {c: 1, 'd' => 2}
        
        # good
        {:a => 1, :b => 2}
        {c: 1, d: 2}

        Example: EnforcedStyle: ruby19nomixed_keys

        # bad
        {:a => 1, :b => 2}
        {c: 2, 'd' => 3} # should just use hash rockets
        
        # good
        {a: 1, b: 2}
        {:c => 3, 'd' => 4}

        Use && instead of and.
        Open

            if session and session.key? :game
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop checks for uses of and and or, and suggests using && and || instead. It can be configured to check only in conditions, or in all contexts.

        Example: EnforcedStyle: always (default)

        # bad
        foo.save and return
        
        # bad
        if foo and bar
        end
        
        # good
        foo.save && return
        
        # good
        if foo && bar
        end

        Example: EnforcedStyle: conditionals

        # bad
        if foo and bar
        end
        
        # good
        foo.save && return
        
        # good
        foo.save and return
        
        # good
        if foo && bar
        end

        Use && instead of and.
        Open

            if current_user.nil? and !chosen_game.tutorial?
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop checks for uses of and and or, and suggests using && and || instead. It can be configured to check only in conditions, or in all contexts.

        Example: EnforcedStyle: always (default)

        # bad
        foo.save and return
        
        # bad
        if foo and bar
        end
        
        # good
        foo.save && return
        
        # good
        if foo && bar
        end

        Example: EnforcedStyle: conditionals

        # bad
        if foo and bar
        end
        
        # good
        foo.save && return
        
        # good
        foo.save and return
        
        # good
        if foo && bar
        end

        Use 2 (not 4) spaces for indentation.
        Open

                  current_user.add_to_played_giving_games(game)
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cops checks for indentation that doesn't use the specified number of spaces.

        See also the IndentationConsistency cop which is the companion to this one.

        Example:

        # bad
        class A
         def test
          puts 'hello'
         end
        end
        
        # good
        class A
          def test
            puts 'hello'
          end
        end

        Example: IgnoredPatterns: ['^\s*module']

        # bad
        module A
        class B
          def test
          puts 'hello'
          end
        end
        end
        
        # good
        module A
        class B
          def test
            puts 'hello'
          end
        end
        end

        Use && instead of and.
        Open

              if current_user.present? and current_user.played_games.include? game.id
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop checks for uses of and and or, and suggests using && and || instead. It can be configured to check only in conditions, or in all contexts.

        Example: EnforcedStyle: always (default)

        # bad
        foo.save and return
        
        # bad
        if foo and bar
        end
        
        # good
        foo.save && return
        
        # good
        if foo && bar
        end

        Example: EnforcedStyle: conditionals

        # bad
        if foo and bar
        end
        
        # good
        foo.save && return
        
        # good
        foo.save and return
        
        # good
        if foo && bar
        end

        Use the return of the conditional for variable assignment and comparison.
        Open

                if gp[:expiration_time] == ''
                  gp[:expiration_time] = nil
                else
                  gp[:expiration_time] = Date.strptime(gp[:expiration_time], "%m/%d/%Y")
                end
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Use the new Ruby 1.9 hash syntax.
        Open

            number_of_games = GivingGame.where(:tutorial => true).count
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop checks hash literal syntax.

        It can enforce either the use of the class hash rocket syntax or the use of the newer Ruby 1.9 syntax (when applicable).

        A separate offense is registered for each problematic pair.

        The supported styles are:

        • ruby19 - forces use of the 1.9 syntax (e.g. {a: 1}) when hashes have all symbols for keys
        • hash_rockets - forces use of hash rockets for all hashes
        • nomixedkeys - simply checks for hashes with mixed syntaxes
        • ruby19nomixed_keys - forces use of ruby 1.9 syntax and forbids mixed syntax hashes

        Example: EnforcedStyle: ruby19 (default)

        # bad
        {:a => 2}
        {b: 1, :c => 2}
        
        # good
        {a: 2, b: 1}
        {:c => 2, 'd' => 2} # acceptable since 'd' isn't a symbol
        {d: 1, 'e' => 2} # technically not forbidden

        Example: EnforcedStyle: hash_rockets

        # bad
        {a: 1, b: 2}
        {c: 1, 'd' => 5}
        
        # good
        {:a => 1, :b => 2}

        Example: EnforcedStyle: nomixedkeys

        # bad
        {:a => 1, b: 2}
        {c: 1, 'd' => 2}
        
        # good
        {:a => 1, :b => 2}
        {c: 1, d: 2}

        Example: EnforcedStyle: ruby19nomixed_keys

        # bad
        {:a => 1, :b => 2}
        {c: 2, 'd' => 3} # should just use hash rockets
        
        # good
        {a: 1, b: 2}
        {:c => 3, 'd' => 4}

        Trailing whitespace detected.
        Open

          
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Use the new Ruby 1.9 hash syntax.
        Open

              redirect_to results_path(:id => game.id, :charity => charity)
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop checks hash literal syntax.

        It can enforce either the use of the class hash rocket syntax or the use of the newer Ruby 1.9 syntax (when applicable).

        A separate offense is registered for each problematic pair.

        The supported styles are:

        • ruby19 - forces use of the 1.9 syntax (e.g. {a: 1}) when hashes have all symbols for keys
        • hash_rockets - forces use of hash rockets for all hashes
        • nomixedkeys - simply checks for hashes with mixed syntaxes
        • ruby19nomixed_keys - forces use of ruby 1.9 syntax and forbids mixed syntax hashes

        Example: EnforcedStyle: ruby19 (default)

        # bad
        {:a => 2}
        {b: 1, :c => 2}
        
        # good
        {a: 2, b: 1}
        {:c => 2, 'd' => 2} # acceptable since 'd' isn't a symbol
        {d: 1, 'e' => 2} # technically not forbidden

        Example: EnforcedStyle: hash_rockets

        # bad
        {a: 1, b: 2}
        {c: 1, 'd' => 5}
        
        # good
        {:a => 1, :b => 2}

        Example: EnforcedStyle: nomixedkeys

        # bad
        {:a => 1, b: 2}
        {c: 1, 'd' => 2}
        
        # good
        {:a => 1, :b => 2}
        {c: 1, d: 2}

        Example: EnforcedStyle: ruby19nomixed_keys

        # bad
        {:a => 1, :b => 2}
        {c: 2, 'd' => 3} # should just use hash rockets
        
        # good
        {a: 1, b: 2}
        {:c => 3, 'd' => 4}

        Use snake_case for variable names.
        Open

                totalMessage += "#{key.to_s().gsub('_', ' ').capitalize} #{message.join("', and'")}; "
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Use the new Ruby 1.9 hash syntax.
        Open

              redirect_to play_index_path(:charity => charity)
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop checks hash literal syntax.

        It can enforce either the use of the class hash rocket syntax or the use of the newer Ruby 1.9 syntax (when applicable).

        A separate offense is registered for each problematic pair.

        The supported styles are:

        • ruby19 - forces use of the 1.9 syntax (e.g. {a: 1}) when hashes have all symbols for keys
        • hash_rockets - forces use of hash rockets for all hashes
        • nomixedkeys - simply checks for hashes with mixed syntaxes
        • ruby19nomixed_keys - forces use of ruby 1.9 syntax and forbids mixed syntax hashes

        Example: EnforcedStyle: ruby19 (default)

        # bad
        {:a => 2}
        {b: 1, :c => 2}
        
        # good
        {a: 2, b: 1}
        {:c => 2, 'd' => 2} # acceptable since 'd' isn't a symbol
        {d: 1, 'e' => 2} # technically not forbidden

        Example: EnforcedStyle: hash_rockets

        # bad
        {a: 1, b: 2}
        {c: 1, 'd' => 5}
        
        # good
        {:a => 1, :b => 2}

        Example: EnforcedStyle: nomixedkeys

        # bad
        {:a => 1, b: 2}
        {c: 1, 'd' => 2}
        
        # good
        {:a => 1, :b => 2}
        {c: 1, d: 2}

        Example: EnforcedStyle: ruby19nomixed_keys

        # bad
        {:a => 1, :b => 2}
        {c: 2, 'd' => 3} # should just use hash rockets
        
        # good
        {a: 1, b: 2}
        {:c => 3, 'd' => 4}

        Use snake_case for variable names.
        Open

                totalMessage += "#{key.to_s().gsub('_', ' ').capitalize} #{message.join("', and'")}; "
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Prefer single-quoted strings when you don't need string interpolation or special symbols.
        Open

                  gp[:expiration_time] = Date.strptime(gp[:expiration_time], "%m/%d/%Y")
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Checks if uses of quotes match the configured preference.

        Example: EnforcedStyle: single_quotes (default)

        # bad
        "No special symbols"
        "No string interpolation"
        "Just text"
        
        # good
        'No special symbols'
        'No string interpolation'
        'Just text'
        "Wait! What's #{this}!"

        Example: EnforcedStyle: double_quotes

        # bad
        'Just some text'
        'No special chars or interpolation'
        
        # good
        "Just some text"
        "No special chars or interpolation"
        "Every string in #{project} uses double_quotes"

        Use snake_case for variable names.
        Open

              @showResults = @game.show_results
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Use snake_case for variable names.
        Open

            charityA = game.charityA_title
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop makes sure that all variables use the configured style, snake_case or camelCase, for their names.

        Example: EnforcedStyle: snake_case (default)

        # bad
        fooBar = 1
        
        # good
        foo_bar = 1

        Example: EnforcedStyle: camelCase

        # bad
        foo_bar = 1
        
        # good
        fooBar = 1

        Use the new Ruby 1.9 hash syntax.
        Open

              redirect_to results_path(:id => game.id, :charity => charity)
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        This cop checks hash literal syntax.

        It can enforce either the use of the class hash rocket syntax or the use of the newer Ruby 1.9 syntax (when applicable).

        A separate offense is registered for each problematic pair.

        The supported styles are:

        • ruby19 - forces use of the 1.9 syntax (e.g. {a: 1}) when hashes have all symbols for keys
        • hash_rockets - forces use of hash rockets for all hashes
        • nomixedkeys - simply checks for hashes with mixed syntaxes
        • ruby19nomixed_keys - forces use of ruby 1.9 syntax and forbids mixed syntax hashes

        Example: EnforcedStyle: ruby19 (default)

        # bad
        {:a => 2}
        {b: 1, :c => 2}
        
        # good
        {a: 2, b: 1}
        {:c => 2, 'd' => 2} # acceptable since 'd' isn't a symbol
        {d: 1, 'e' => 2} # technically not forbidden

        Example: EnforcedStyle: hash_rockets

        # bad
        {a: 1, b: 2}
        {c: 1, 'd' => 5}
        
        # good
        {:a => 1, :b => 2}

        Example: EnforcedStyle: nomixedkeys

        # bad
        {:a => 1, b: 2}
        {c: 1, 'd' => 2}
        
        # good
        {:a => 1, :b => 2}
        {c: 1, d: 2}

        Example: EnforcedStyle: ruby19nomixed_keys

        # bad
        {:a => 1, :b => 2}
        {c: 2, 'd' => 3} # should just use hash rockets
        
        # good
        {a: 1, b: 2}
        {:c => 3, 'd' => 4}

        Favor modifier if usage when having a single-line body. Another good alternative is the usage of control flow &&/||.
        Open

                if params[:game].key? key
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Checks for if and unless statements that would fit on one line if written as a modifier if/unless. The maximum line length is configured in the Metrics/LineLength cop.

        Example:

        # bad
        if condition
          do_stuff(bar)
        end
        
        unless qux.empty?
          Foo.do_something
        end
        
        # good
        do_stuff(bar) if condition
        Foo.do_something unless qux.empty?

        Prefer single-quoted strings when you don't need string interpolation or special symbols.
        Open

              flash[:warning] = "You must be logged in to play an actual giving game."
        Severity: Minor
        Found in app/controllers/games_controller.rb by rubocop

        Checks if uses of quotes match the configured preference.

        Example: EnforcedStyle: single_quotes (default)

        # bad
        "No special symbols"
        "No string interpolation"
        "Just text"
        
        # good
        'No special symbols'
        'No string interpolation'
        'Just text'
        "Wait! What's #{this}!"

        Example: EnforcedStyle: double_quotes

        # bad
        'Just some text'
        'No special chars or interpolation'
        
        # good
        "Just some text"
        "No special chars or interpolation"
        "Every string in #{project} uses double_quotes"

        There are no issues that match your filters.

        Category
        Status