houston/houston-core

View on GitHub
app/helpers/application_helper.rb

Summary

Maintainability
B
4 hrs
Test Coverage

Module has too many lines. [118/100]
Open

module ApplicationHelper

  def title
    @title || Houston.config.title
  end
Severity: Minor
Found in app/helpers/application_helper.rb by rubocop

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

Assignment Branch Condition size for _format_time_ago is too high. [23.49/15]
Open

  def _format_time_ago(time)
    duration = (Time.now - time).to_i
    return "#{duration} seconds ago" if duration < 90.seconds
    return "#{duration / 60} minutes ago" if duration < 90.minutes
    return "%.1f hours ago" % (duration / 3600.0) if duration < 20.hours
Severity: Minor
Found in app/helpers/application_helper.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 format_time is too high. [21.19/15]
Open

  def format_time(time, options={})
    if time.nil?
      date, time = ["", "Never"]
    elsif time.to_date == Date.today
      date, time = [options[:today] ? "Today" : "", time.strftime("%l:%M %p")]
Severity: Minor
Found in app/helpers/application_helper.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

Cyclomatic complexity for _format_time_ago is too high. [9/6]
Open

  def _format_time_ago(time)
    duration = (Time.now - time).to_i
    return "#{duration} seconds ago" if duration < 90.seconds
    return "#{duration / 60} minutes ago" if duration < 90.minutes
    return "%.1f hours ago" % (duration / 3600.0) if duration < 20.hours
Severity: Minor
Found in app/helpers/application_helper.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 has too many lines. [13/10]
Open

  def format_duration(seconds)
    if seconds.nil?
      return "&mdash;".html_safe
    elsif seconds < 1
      "#{(seconds * 1000).floor}ms"
Severity: Minor
Found in app/helpers/application_helper.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.

Perceived complexity for _format_time_ago is too high. [9/7]
Open

  def _format_time_ago(time)
    duration = (Time.now - time).to_i
    return "#{duration} seconds ago" if duration < 90.seconds
    return "#{duration / 60} minutes ago" if duration < 90.minutes
    return "%.1f hours ago" % (duration / 3600.0) if duration < 20.hours
Severity: Minor
Found in app/helpers/application_helper.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

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

  def _format_time_ago(time)
    duration = (Time.now - time).to_i
    return "#{duration} seconds ago" if duration < 90.seconds
    return "#{duration / 60} minutes ago" if duration < 90.minutes
    return "%.1f hours ago" % (duration / 3600.0) if duration < 20.hours
Severity: Minor
Found in app/helpers/application_helper.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 format_duration is too high. [15.81/15]
Open

  def format_duration(seconds)
    if seconds.nil?
      return "&mdash;".html_safe
    elsif seconds < 1
      "#{(seconds * 1000).floor}ms"
Severity: Minor
Found in app/helpers/application_helper.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 _format_time_ago has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
Open

  def _format_time_ago(time)
    duration = (Time.now - time).to_i
    return "#{duration} seconds ago" if duration < 90.seconds
    return "#{duration / 60} minutes ago" if duration < 90.minutes
    return "%.1f hours ago" % (duration / 3600.0) if duration < 20.hours
Severity: Minor
Found in app/helpers/application_helper.rb - About 45 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

Method format_time has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
Open

  def format_time(time, options={})
    if time.nil?
      date, time = ["", "Never"]
    elsif time.to_date == Date.today
      date, time = [options[:today] ? "Today" : "", time.strftime("%l:%M %p")]
Severity: Minor
Found in app/helpers/application_helper.rb - About 35 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

Avoid too many return statements within this method.
Open

    return ">1 year ago" if days < 730
Severity: Major
Found in app/helpers/application_helper.rb - About 30 mins to fix

    Avoid too many return statements within this method.
    Open

        return "#{days / 7} weeks ago" if days < 63
    Severity: Major
    Found in app/helpers/application_helper.rb - About 30 mins to fix

      Avoid too many return statements within this method.
      Open

          return "#{days} days ago" if days < 21
      Severity: Major
      Found in app/helpers/application_helper.rb - About 30 mins to fix

        Avoid too many return statements within this method.
        Open

            return "#{days / 30} months ago" if days < 456
        Severity: Major
        Found in app/helpers/application_helper.rb - About 30 mins to fix

          Avoid too many return statements within this method.
          Open

              return ">#{days / 365} years ago"
          Severity: Major
          Found in app/helpers/application_helper.rb - About 30 mins to fix

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

              def format_duration(seconds)
                if seconds.nil?
                  return "&mdash;".html_safe
                elsif seconds < 1
                  "#{(seconds * 1000).floor}ms"
            Severity: Minor
            Found in app/helpers/application_helper.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

            Extra blank line detected.
            Open

            
            
            
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            This cops checks for two or more consecutive blank lines.

            Example:

            # bad - It has two empty lines.
            some_method
            # one empty line
            # two empty lines
            some_method
            
            # good
            some_method
            # one empty line
            some_method

            Surrounding space missing in default value assignment.
            Open

              def in_columns(collection, options={}, &block)
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            Checks that the equals signs in parameter default assignments have or don't have surrounding space depending on configuration.

            Example:

            # bad
            def some_method(arg1=:default, arg2=nil, arg3=[])
              # do something...
            end
            
            # good
            def some_method(arg1 = :default, arg2 = nil, arg3 = [])
              # do something...
            end

            Extra blank line detected.
            Open

            
            
            
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            This cops checks for two or more consecutive blank lines.

            Example:

            # bad - It has two empty lines.
            some_method
            # one empty line
            # two empty lines
            some_method
            
            # good
            some_method
            # one empty line
            some_method

            Use empty lines between method definitions.
            Open

              def follows?(project)
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            This cop checks whether method definitions are separated by one empty line.

            NumberOfEmptyLines can be and integer (e.g. 1 by default) or an array (e.g. [1, 2]) to specificy a minimum and a maximum of empty lines.

            AllowAdjacentOneLineDefs can be used to configure is adjacent one line methods definitions are an offense

            Example:

            # bad
            def a
            end
            def b
            end

            Example:

            # good
            def a
            end
            
            def b
            end

            Use empty lines between method definitions.
            Open

              def in_columns(collection, options={}, &block)
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            This cop checks whether method definitions are separated by one empty line.

            NumberOfEmptyLines can be and integer (e.g. 1 by default) or an array (e.g. [1, 2]) to specificy a minimum and a maximum of empty lines.

            AllowAdjacentOneLineDefs can be used to configure is adjacent one line methods definitions are an offense

            Example:

            # bad
            def a
            end
            def b
            end

            Example:

            # good
            def a
            end
            
            def b
            end

            Extra blank line detected.
            Open

            
            class PageHeaderBuilder
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            This cops checks for two or more consecutive blank lines.

            Example:

            # bad - It has two empty lines.
            some_method
            # one empty line
            # two empty lines
            some_method
            
            # good
            some_method
            # one empty line
            some_method

            Surrounding space missing in default value assignment.
            Open

              def in_groups_of(collection, column_count, css_class="column")
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            Checks that the equals signs in parameter default assignments have or don't have surrounding space depending on configuration.

            Example:

            # bad
            def some_method(arg1=:default, arg2=nil, arg3=[])
              # do something...
            end
            
            # good
            def some_method(arg1 = :default, arg2 = nil, arg3 = [])
              # do something...
            end

            Extra empty line detected at class body beginning.
            Open

            
              def initialize(context)
            Severity: Minor
            Found in app/helpers/application_helper.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

            Extra blank line detected.
            Open

            
              def format_date_with_year(date)
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            This cops checks for two or more consecutive blank lines.

            Example:

            # bad - It has two empty lines.
            some_method
            # one empty line
            # two empty lines
            some_method
            
            # good
            some_method
            # one empty line
            some_method

            Use empty lines between method definitions.
            Open

              def format_date_with_year(date)
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            This cop checks whether method definitions are separated by one empty line.

            NumberOfEmptyLines can be and integer (e.g. 1 by default) or an array (e.g. [1, 2]) to specificy a minimum and a maximum of empty lines.

            AllowAdjacentOneLineDefs can be used to configure is adjacent one line methods definitions are an offense

            Example:

            # bad
            def a
            end
            def b
            end

            Example:

            # good
            def a
            end
            
            def b
            end

            Extra blank line detected.
            Open

            
              def follows?(project)
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            This cops checks for two or more consecutive blank lines.

            Example:

            # bad - It has two empty lines.
            some_method
            # one empty line
            # two empty lines
            some_method
            
            # good
            some_method
            # one empty line
            some_method

            Extra empty line detected at class body end.
            Open

            
            end
            Severity: Minor
            Found in app/helpers/application_helper.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

            Extra blank line detected.
            Open

            
            
            
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            This cops checks for two or more consecutive blank lines.

            Example:

            # bad - It has two empty lines.
            some_method
            # one empty line
            # two empty lines
            some_method
            
            # good
            some_method
            # one empty line
            some_method

            Extra blank line detected.
            Open

            
            
            
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            This cops checks for two or more consecutive blank lines.

            Example:

            # bad - It has two empty lines.
            some_method
            # one empty line
            # two empty lines
            some_method
            
            # good
            some_method
            # one empty line
            some_method

            Extra blank line detected.
            Open

            
              def format_time(time, options={})
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            This cops checks for two or more consecutive blank lines.

            Example:

            # bad - It has two empty lines.
            some_method
            # one empty line
            # two empty lines
            some_method
            
            # good
            some_method
            # one empty line
            some_method

            Surrounding space missing in default value assignment.
            Open

              def format_time(time, options={})
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            Checks that the equals signs in parameter default assignments have or don't have surrounding space depending on configuration.

            Example:

            # bad
            def some_method(arg1=:default, arg2=nil, arg3=[])
              # do something...
            end
            
            # good
            def some_method(arg1 = :default, arg2 = nil, arg3 = [])
              # do something...
            end

            Shadowing outer local variable - html.
            Open

                html = collection.in_groups_of(column_count).each_with_object("") do |items_in_column, html|
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            This cop looks for use of the same name as outer local variables for block arguments or block local variables. This is a mimic of the warning "shadowing outer local variable - foo" from ruby -cw.

            Example:

            # bad
            
            def some_method
              foo = 1
            
              2.times do |foo| # shadowing outer `foo`
                do_something(foo)
              end
            end

            Example:

            # good
            
            def some_method
              foo = 1
            
              2.times do |bar|
                do_something(bar)
              end
            end

            Extra blank line detected.
            Open

            
              def in_columns(collection, options={}, &block)
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            This cops checks for two or more consecutive blank lines.

            Example:

            # bad - It has two empty lines.
            some_method
            # one empty line
            # two empty lines
            some_method
            
            # good
            some_method
            # one empty line
            some_method

            Extra empty line detected at module body end.
            Open

            
            end
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

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

            Example: EnforcedStyle: empty_lines

            # good
            
            module Foo
            
              def bar
                # ...
              end
            
            end

            Example: EnforcedStyle: emptylinesexcept_namespace

            # good
            
            module Foo
              module Bar
            
                # ...
            
              end
            end

            Example: EnforcedStyle: emptylinesspecial

            # good
            module Foo
            
              def bar; end
            
            end

            Example: EnforcedStyle: noemptylines (default)

            # good
            
            module Foo
              def bar
                # ...
              end
            end

            Extra blank line detected.
            Open

            
            end
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            This cops checks for two or more consecutive blank lines.

            Example:

            # bad - It has two empty lines.
            some_method
            # one empty line
            # two empty lines
            some_method
            
            # good
            some_method
            # one empty line
            some_method

            Extra blank line detected.
            Open

            
            
            
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            This cops checks for two or more consecutive blank lines.

            Example:

            # bad - It has two empty lines.
            some_method
            # one empty line
            # two empty lines
            some_method
            
            # good
            some_method
            # one empty line
            some_method

            Extra empty line detected at module body beginning.
            Open

            
              def title
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

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

            Example: EnforcedStyle: empty_lines

            # good
            
            module Foo
            
              def bar
                # ...
              end
            
            end

            Example: EnforcedStyle: emptylinesexcept_namespace

            # good
            
            module Foo
              module Bar
            
                # ...
            
              end
            end

            Example: EnforcedStyle: emptylinesspecial

            # good
            module Foo
            
              def bar; end
            
            end

            Example: EnforcedStyle: noemptylines (default)

            # good
            
            module Foo
              def bar
                # ...
              end
            end

            Line is too long. [109/80]
            Open

                return "<!-- Google Analytics for #{id.inspect} in Production -->".html_safe unless Rails.env.production?
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            Favor format over String#%.
            Open

                  "%.2f seconds" % seconds
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            This cop enforces the use of a single string formatting utility. Valid options include Kernel#format, Kernel#sprintf and String#%.

            The detection of String#% cannot be implemented in a reliable manner for all cases, so only two scenarios are considered - if the first argument is a string literal and if the second argument is an array literal.

            Example: EnforcedStyle: format(default)

            # bad
            puts sprintf('%10s', 'hoge')
            puts '%10s' % 'hoge'
            
            # good
            puts format('%10s', 'hoge')

            Example: EnforcedStyle: sprintf

            # bad
            puts format('%10s', 'hoge')
            puts '%10s' % 'hoge'
            
            # good
            puts sprintf('%10s', 'hoge')

            Example: EnforcedStyle: percent

            # bad
            puts format('%10s', 'hoge')
            puts sprintf('%10s', 'hoge')
            
            # good
            puts '%10s' % 'hoge'

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

                "<hr class=\"clear\" />".html_safe
            Severity: Minor
            Found in app/helpers/application_helper.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

                  date, time = [options[:today] ? "Today" : "", time.strftime("%l:%M %p")]
            Severity: Minor
            Found in app/helpers/application_helper.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

                  return "&mdash;".html_safe
            Severity: Minor
            Found in app/helpers/application_helper.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

                  "%.2f seconds" % seconds
            Severity: Minor
            Found in app/helpers/application_helper.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

                return "" if date.nil?
            Severity: Minor
            Found in app/helpers/application_helper.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"

            Line is too long. [91/80]
            Open

                "#{date.strftime("%b %d")}<span class=\"year\">#{date.strftime("%Y")}</span>".html_safe
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            Missing top-level class documentation comment.
            Open

            class PageHeaderBuilder
            Severity: Minor
            Found in app/helpers/application_helper.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

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

                  date, time = [time.strftime("%b %e"), time.strftime("%l:%M %p")]
            Severity: Minor
            Found in app/helpers/application_helper.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 annotated tokens (like %<foo>s</foo>) over unannotated tokens (like %s).
            Open

                  date, time = [options[:today] ? "Today" : "", time.strftime("%l:%M %p")]
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            Use a consistent style for named format string tokens.

            Note: unannotated style cop only works for strings which are passed as arguments to those methods: sprintf, format, %. The reason is that unannotated format is very similar to encoded URLs or Date/Time formatting strings.

            Example: EnforcedStyle: annotated (default)

            # bad
            format('%{greeting}', greeting: 'Hello')
            format('%s', 'Hello')
            
            # good
            format('%<greeting>s', greeting: 'Hello')</greeting>

            Example: EnforcedStyle: template

            # bad
            format('%<greeting>s', greeting: 'Hello')
            format('%s', 'Hello')
            
            # good
            format('%{greeting}', greeting: 'Hello')</greeting>

            Example: EnforcedStyle: unannotated

            # bad
            format('%<greeting>s', greeting: 'Hello')
            format('%{greeting}', 'Hello')
            
            # good
            format('%s', 'Hello')</greeting>

            Prefer annotated tokens (like %<foo>s</foo>) over unannotated tokens (like %s).
            Open

                  date, time = ["Yesterday", time.strftime("%l:%M %p")]
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            Use a consistent style for named format string tokens.

            Note: unannotated style cop only works for strings which are passed as arguments to those methods: sprintf, format, %. The reason is that unannotated format is very similar to encoded URLs or Date/Time formatting strings.

            Example: EnforcedStyle: annotated (default)

            # bad
            format('%{greeting}', greeting: 'Hello')
            format('%s', 'Hello')
            
            # good
            format('%<greeting>s', greeting: 'Hello')</greeting>

            Example: EnforcedStyle: template

            # bad
            format('%<greeting>s', greeting: 'Hello')
            format('%s', 'Hello')
            
            # good
            format('%{greeting}', greeting: 'Hello')</greeting>

            Example: EnforcedStyle: unannotated

            # bad
            format('%<greeting>s', greeting: 'Hello')
            format('%{greeting}', 'Hello')
            
            # good
            format('%s', 'Hello')</greeting>

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

                  date, time = ["Yesterday", time.strftime("%l:%M %p")]
            Severity: Minor
            Found in app/helpers/application_helper.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

                return ">1 year ago" if days < 730
            Severity: Minor
            Found in app/helpers/application_helper.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 inside interpolations.
            Open

                <span class="time-time">#{time.gsub(" AM", "a").gsub(" PM", "p")}</span>
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            This cop checks that quotes inside the string interpolation match the configured preference.

            Example: EnforcedStyle: single_quotes (default)

            # bad
            result = "Tests #{success ? "PASS" : "FAIL"}"
            
            # good
            result = "Tests #{success ? 'PASS' : 'FAIL'}"

            Example: EnforcedStyle: double_quotes

            # bad
            result = "Tests #{success ? 'PASS' : 'FAIL'}"
            
            # good
            result = "Tests #{success ? "PASS" : "FAIL"}"

            Missing top-level module documentation comment.
            Open

            module ApplicationHelper
            Severity: Minor
            Found in app/helpers/application_helper.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

            Prefer annotated tokens (like %<foo>s</foo>) over unannotated tokens (like %s).
            Open

                  date, time = [time.strftime("%b %e"), time.strftime("%l:%M %p")]
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            Use a consistent style for named format string tokens.

            Note: unannotated style cop only works for strings which are passed as arguments to those methods: sprintf, format, %. The reason is that unannotated format is very similar to encoded URLs or Date/Time formatting strings.

            Example: EnforcedStyle: annotated (default)

            # bad
            format('%{greeting}', greeting: 'Hello')
            format('%s', 'Hello')
            
            # good
            format('%<greeting>s', greeting: 'Hello')</greeting>

            Example: EnforcedStyle: template

            # bad
            format('%<greeting>s', greeting: 'Hello')
            format('%s', 'Hello')
            
            # good
            format('%{greeting}', greeting: 'Hello')</greeting>

            Example: EnforcedStyle: unannotated

            # bad
            format('%<greeting>s', greeting: 'Hello')
            format('%{greeting}', 'Hello')
            
            # good
            format('%s', 'Hello')</greeting>

            Do not use parallel assignment.
            Open

                  date, time = [options[:today] ? "Today" : "", time.strftime("%l:%M %p")]
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            Checks for simple usages of parallel assignment. This will only complain when the number of variables being assigned matched the number of assigning variables.

            Example:

            # bad
            a, b, c = 1, 2, 3
            a, b, c = [1, 2, 3]
            
            # good
            one, two = *foo
            a, b = foo()
            a, b = b, a
            
            a = 1
            b = 2
            c = 3

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

                  date, time = ["", "Never"]
            Severity: Minor
            Found in app/helpers/application_helper.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"

            Line is too long. [96/80]
            Open

                html = collection.in_groups_of(column_count).each_with_object("") do |items_in_column, html|
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            Use the new Ruby 1.9 hash syntax.
            Open

              delegate :breadcrumbs, :capture, :to => :@context
            Severity: Minor
            Found in app/helpers/application_helper.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}

            Do not use parallel assignment.
            Open

                  date, time = ["", "Never"]
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            Checks for simple usages of parallel assignment. This will only complain when the number of variables being assigned matched the number of assigning variables.

            Example:

            # bad
            a, b, c = 1, 2, 3
            a, b, c = [1, 2, 3]
            
            # good
            one, two = *foo
            a, b = foo()
            a, b = b, a
            
            a = 1
            b = 2
            c = 3

            Don't use parentheses around a variable.
            Open

                    html << capture { yield (item) }
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            This cop checks for redundant parentheses.

            Example:

            # bad
            (x) if ((y.z).nil?)
            
            # good
            x if y.z.nil?

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

                  date, time = [time.strftime("%b %e"), time.strftime("%l:%M %p")]
            Severity: Minor
            Found in app/helpers/application_helper.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 a guard clause instead of wrapping the code inside a conditional expression.
            Open

                if seconds.nil?
            Severity: Minor
            Found in app/helpers/application_helper.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 underscores(_) as decimal mark and separate every 3 digits with them.
            Open

                days = (duration / 86400.0).round
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            This cop checks for big numeric literals without _ between groups of digits in them.

            Example:

            # bad
            
            1000000
            1_00_000
            1_0000
            
            # good
            
            1_000_000
            1000
            
            # good unless Strict is set
            
            10_000_00 # typical representation of $10,000 in cents

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

                  date, time = ["Yesterday", time.strftime("%l:%M %p")]
            Severity: Minor
            Found in app/helpers/application_helper.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"

            Do not use parallel assignment.
            Open

                  date, time = [time.strftime("%b %e"), time.strftime("%l:%M %p")]
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            Checks for simple usages of parallel assignment. This will only complain when the number of variables being assigned matched the number of assigning variables.

            Example:

            # bad
            a, b, c = 1, 2, 3
            a, b, c = [1, 2, 3]
            
            # good
            one, two = *foo
            a, b = foo()
            a, b = b, a
            
            a = 1
            b = 2
            c = 3

            Use alias in_columns_of in_groups_of instead of alias :in_columns_of :in_groups_of.
            Open

              alias :in_columns_of :in_groups_of
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            This cop enforces the use of either #alias or #alias_method depending on configuration. It also flags uses of alias :symbol rather than alias bareword.

            Example: EnforcedStyle: prefer_alias (default)

            # bad
            alias_method :bar, :foo
            alias :bar :foo
            
            # good
            alias bar foo

            Example: EnforcedStyle: preferaliasmethod

            # bad
            alias :bar :foo
            alias bar foo
            
            # good
            alias_method :bar, :foo

            Favor format over String#%.
            Open

                return "%.1f hours ago" % (duration / 3600.0) if duration < 20.hours
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            This cop enforces the use of a single string formatting utility. Valid options include Kernel#format, Kernel#sprintf and String#%.

            The detection of String#% cannot be implemented in a reliable manner for all cases, so only two scenarios are considered - if the first argument is a string literal and if the second argument is an array literal.

            Example: EnforcedStyle: format(default)

            # bad
            puts sprintf('%10s', 'hoge')
            puts '%10s' % 'hoge'
            
            # good
            puts format('%10s', 'hoge')

            Example: EnforcedStyle: sprintf

            # bad
            puts format('%10s', 'hoge')
            puts '%10s' % 'hoge'
            
            # good
            puts sprintf('%10s', 'hoge')

            Example: EnforcedStyle: percent

            # bad
            puts format('%10s', 'hoge')
            puts sprintf('%10s', 'hoge')
            
            # good
            puts '%10s' % 'hoge'

            Prefer annotated tokens (like %<foo>s</foo>) over unannotated tokens (like %s).
            Open

                "#{date.strftime("%b %d")}<span class=\"year\">#{date.strftime("%Y")}</span>".html_safe
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            Use a consistent style for named format string tokens.

            Note: unannotated style cop only works for strings which are passed as arguments to those methods: sprintf, format, %. The reason is that unannotated format is very similar to encoded URLs or Date/Time formatting strings.

            Example: EnforcedStyle: annotated (default)

            # bad
            format('%{greeting}', greeting: 'Hello')
            format('%s', 'Hello')
            
            # good
            format('%<greeting>s', greeting: 'Hello')</greeting>

            Example: EnforcedStyle: template

            # bad
            format('%<greeting>s', greeting: 'Hello')
            format('%s', 'Hello')
            
            # good
            format('%{greeting}', greeting: 'Hello')</greeting>

            Example: EnforcedStyle: unannotated

            # bad
            format('%<greeting>s', greeting: 'Hello')
            format('%{greeting}', 'Hello')
            
            # good
            format('%s', 'Hello')</greeting>

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

                return "&mdash;".html_safe unless time
            Severity: Minor
            Found in app/helpers/application_helper.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 inside interpolations.
            Open

                <span class="time-time">#{time.gsub(" AM", "a").gsub(" PM", "p")}</span>
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            This cop checks that quotes inside the string interpolation match the configured preference.

            Example: EnforcedStyle: single_quotes (default)

            # bad
            result = "Tests #{success ? "PASS" : "FAIL"}"
            
            # good
            result = "Tests #{success ? 'PASS' : 'FAIL'}"

            Example: EnforcedStyle: double_quotes

            # bad
            result = "Tests #{success ? 'PASS' : 'FAIL'}"
            
            # good
            result = "Tests #{success ? "PASS" : "FAIL"}"

            Do not use parallel assignment.
            Open

                  date, time = ["Yesterday", time.strftime("%l:%M %p")]
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            Checks for simple usages of parallel assignment. This will only complain when the number of variables being assigned matched the number of assigning variables.

            Example:

            # bad
            a, b, c = 1, 2, 3
            a, b, c = [1, 2, 3]
            
            # good
            one, two = *foo
            a, b = foo()
            a, b = b, a
            
            a = 1
            b = 2
            c = 3

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

                return "1 day ago" if days == 1
            Severity: Minor
            Found in app/helpers/application_helper.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 annotated tokens (like %<foo>s</foo>) over unannotated tokens (like %s).
            Open

                "#{date.strftime("%b %d")}<span class=\"year\">#{date.strftime("%Y")}</span>".html_safe
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            Use a consistent style for named format string tokens.

            Note: unannotated style cop only works for strings which are passed as arguments to those methods: sprintf, format, %. The reason is that unannotated format is very similar to encoded URLs or Date/Time formatting strings.

            Example: EnforcedStyle: annotated (default)

            # bad
            format('%{greeting}', greeting: 'Hello')
            format('%s', 'Hello')
            
            # good
            format('%<greeting>s', greeting: 'Hello')</greeting>

            Example: EnforcedStyle: template

            # bad
            format('%<greeting>s', greeting: 'Hello')
            format('%s', 'Hello')
            
            # good
            format('%{greeting}', greeting: 'Hello')</greeting>

            Example: EnforcedStyle: unannotated

            # bad
            format('%<greeting>s', greeting: 'Hello')
            format('%{greeting}', 'Hello')
            
            # good
            format('%s', 'Hello')</greeting>

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

                  date, time = [options[:today] ? "Today" : "", time.strftime("%l:%M %p")]
            Severity: Minor
            Found in app/helpers/application_helper.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"

            Redundant return detected.
            Open

                return ">#{days / 365} years ago"
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            This cop checks for redundant return expressions.

            Example:

            def test
              return something
            end
            
            def test
              one
              two
              three
              return something
            end

            It should be extended to handle methods whose body is if/else or a case expression with a default branch.

            Prefer single-quoted strings inside interpolations.
            Open

                "#{date.strftime("%b %d")}<span class=\"year\">#{date.strftime("%Y")}</span>".html_safe
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            This cop checks that quotes inside the string interpolation match the configured preference.

            Example: EnforcedStyle: single_quotes (default)

            # bad
            result = "Tests #{success ? "PASS" : "FAIL"}"
            
            # good
            result = "Tests #{success ? 'PASS' : 'FAIL'}"

            Example: EnforcedStyle: double_quotes

            # bad
            result = "Tests #{success ? 'PASS' : 'FAIL'}"
            
            # good
            result = "Tests #{success ? "PASS" : "FAIL"}"

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

                html = collection.in_groups_of(column_count).each_with_object("") do |items_in_column, html|
            Severity: Minor
            Found in app/helpers/application_helper.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

                  date, time = ["", "Never"]
            Severity: Minor
            Found in app/helpers/application_helper.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 inside interpolations.
            Open

                <span class="time-time">#{time.gsub(" AM", "a").gsub(" PM", "p")}</span>
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            This cop checks that quotes inside the string interpolation match the configured preference.

            Example: EnforcedStyle: single_quotes (default)

            # bad
            result = "Tests #{success ? "PASS" : "FAIL"}"
            
            # good
            result = "Tests #{success ? 'PASS' : 'FAIL'}"

            Example: EnforcedStyle: double_quotes

            # bad
            result = "Tests #{success ? 'PASS' : 'FAIL'}"
            
            # good
            result = "Tests #{success ? "PASS" : "FAIL"}"

            Line is too long. [82/80]
            Open

                "<span class=\"friendly-duration\">#{_format_time_ago(time)}</span>".html_safe
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            Prefer annotated tokens (like %<foo>s</foo>) over unannotated tokens (like %s).
            Open

                  date, time = [time.strftime("%b %e"), time.strftime("%l:%M %p")]
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            Use a consistent style for named format string tokens.

            Note: unannotated style cop only works for strings which are passed as arguments to those methods: sprintf, format, %. The reason is that unannotated format is very similar to encoded URLs or Date/Time formatting strings.

            Example: EnforcedStyle: annotated (default)

            # bad
            format('%{greeting}', greeting: 'Hello')
            format('%s', 'Hello')
            
            # good
            format('%<greeting>s', greeting: 'Hello')</greeting>

            Example: EnforcedStyle: template

            # bad
            format('%<greeting>s', greeting: 'Hello')
            format('%s', 'Hello')
            
            # good
            format('%{greeting}', greeting: 'Hello')</greeting>

            Example: EnforcedStyle: unannotated

            # bad
            format('%<greeting>s', greeting: 'Hello')
            format('%{greeting}', 'Hello')
            
            # good
            format('%s', 'Hello')</greeting>

            Prefer annotated tokens (like %<foo>s</foo>) over unannotated tokens (like %s).
            Open

                  date, time = [time.strftime("%b %e"), time.strftime("%l:%M %p")]
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            Use a consistent style for named format string tokens.

            Note: unannotated style cop only works for strings which are passed as arguments to those methods: sprintf, format, %. The reason is that unannotated format is very similar to encoded URLs or Date/Time formatting strings.

            Example: EnforcedStyle: annotated (default)

            # bad
            format('%{greeting}', greeting: 'Hello')
            format('%s', 'Hello')
            
            # good
            format('%<greeting>s', greeting: 'Hello')</greeting>

            Example: EnforcedStyle: template

            # bad
            format('%<greeting>s', greeting: 'Hello')
            format('%s', 'Hello')
            
            # good
            format('%{greeting}', greeting: 'Hello')</greeting>

            Example: EnforcedStyle: unannotated

            # bad
            format('%<greeting>s', greeting: 'Hello')
            format('%{greeting}', 'Hello')
            
            # good
            format('%s', 'Hello')</greeting>

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

                  html << "</div>"
            Severity: Minor
            Found in app/helpers/application_helper.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"

            Redundant return detected.
            Open

                  return "&mdash;".html_safe
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            This cop checks for redundant return expressions.

            Example:

            def test
              return something
            end
            
            def test
              one
              two
              three
              return something
            end

            It should be extended to handle methods whose body is if/else or a case expression with a default branch.

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

                  date, time = [options[:today] ? "Today" : "", time.strftime("%l:%M %p")]
            Severity: Minor
            Found in app/helpers/application_helper.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

              def in_groups_of(collection, column_count, css_class="column")
            Severity: Minor
            Found in app/helpers/application_helper.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

                return "%.1f hours ago" % (duration / 3600.0) if duration < 20.hours
            Severity: Minor
            Found in app/helpers/application_helper.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 inside interpolations.
            Open

                <span class="time-time">#{time.gsub(" AM", "a").gsub(" PM", "p")}</span>
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            This cop checks that quotes inside the string interpolation match the configured preference.

            Example: EnforcedStyle: single_quotes (default)

            # bad
            result = "Tests #{success ? "PASS" : "FAIL"}"
            
            # good
            result = "Tests #{success ? 'PASS' : 'FAIL'}"

            Example: EnforcedStyle: double_quotes

            # bad
            result = "Tests #{success ? 'PASS' : 'FAIL'}"
            
            # good
            result = "Tests #{success ? "PASS" : "FAIL"}"

            Prefer single-quoted strings inside interpolations.
            Open

                "#{date.strftime("%b %d")}<span class=\"year\">#{date.strftime("%Y")}</span>".html_safe
            Severity: Minor
            Found in app/helpers/application_helper.rb by rubocop

            This cop checks that quotes inside the string interpolation match the configured preference.

            Example: EnforcedStyle: single_quotes (default)

            # bad
            result = "Tests #{success ? "PASS" : "FAIL"}"
            
            # good
            result = "Tests #{success ? 'PASS' : 'FAIL'}"

            Example: EnforcedStyle: double_quotes

            # bad
            result = "Tests #{success ? 'PASS' : 'FAIL'}"
            
            # good
            result = "Tests #{success ? "PASS" : "FAIL"}"

            There are no issues that match your filters.

            Category
            Status