18F/cg-sandbox-bot

View on GitHub
monitor.rb

Summary

Maintainability
C
1 day
Test Coverage

Assignment Branch Condition size for process_new_users is too high. [71.2/15]
Open

def process_new_users

  last_user_date = nil
    users = @cf_client.get_users

Severity: Minor
Found in monitor.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. [62/10]
Open

def process_new_users

  last_user_date = nil
    users = @cf_client.get_users

Severity: Minor
Found in monitor.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 process_new_users has a Cognitive Complexity of 39 (exceeds 5 allowed). Consider refactoring.
Open

def process_new_users

  last_user_date = nil
    users = @cf_client.get_users

Severity: Minor
Found in monitor.rb - About 5 hrs 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

Block has too many lines. [57/25]
Open

  users.each do |user|

    is_new_org = false

    # save the date of the most recent user added
Severity: Minor
Found in monitor.rb by rubocop

This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

Perceived complexity for process_new_users is too high. [18/7]
Open

def process_new_users

  last_user_date = nil
    users = @cf_client.get_users

Severity: Minor
Found in monitor.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 process_new_users is too high. [17/6]
Open

def process_new_users

  last_user_date = nil
    users = @cf_client.get_users

Severity: Minor
Found in monitor.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 process_new_users has 62 lines of code (exceeds 25 allowed). Consider refactoring.
Open

def process_new_users

  last_user_date = nil
    users = @cf_client.get_users

Severity: Major
Found in monitor.rb - About 2 hrs to fix

    Align the parameters of a method call if they span more than one line.
    Open

              [user["metadata"]["guid"]], [user["metadata"]["guid"]],
    Severity: Minor
    Found in monitor.rb by rubocop

    Here we check if the parameters on a multi-line method call or definition are aligned.

    Example: EnforcedStyle: withfirstparameter (default)

    # good
    
    foo :bar,
        :baz
    
    # bad
    
    foo :bar,
      :baz

    Example: EnforcedStyle: withfixedindentation

    # good
    
    foo :bar,
      :baz
    
    # bad
    
    foo :bar,
        :baz

    Line is too long. [98/80]
    Open

            sandbox_org = @cf_client.create_organization(sandbox_org_name, org_quota["metadata"]["guid"])
    Severity: Minor
    Found in monitor.rb by rubocop

    Line is too long. [99/80]
    Open

          !@cf_client.organization_space_name_exists?(sandbox_org['metadata']['guid'], user_space_name)
    Severity: Minor
    Found in monitor.rb by rubocop

    Align the parameters of a method call if they span more than one line.
    Open

              sandbox_org_space_quota_definition['metadata']['guid'])
    Severity: Minor
    Found in monitor.rb by rubocop

    Here we check if the parameters on a multi-line method call or definition are aligned.

    Example: EnforcedStyle: withfirstparameter (default)

    # good
    
    foo :bar,
        :baz
    
    # bad
    
    foo :bar,
      :baz

    Example: EnforcedStyle: withfixedindentation

    # good
    
    foo :bar,
      :baz
    
    # bad
    
    foo :bar,
        :baz

    Line is too long. [81/80]
    Open

        break if @last_user_date && @last_user_date >= user["metadata"]["created_at"]
    Severity: Minor
    Found in monitor.rb by rubocop

    Line is too long. [119/80]
    Open

            @cf_client.get_organization_space_quota_definition_by_name(sandbox_org['metadata']['guid'], SANDBOX_QUOTA_NAME)
    Severity: Minor
    Found in monitor.rb by rubocop

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

    @cf_client = CFClient.new(ENV["CLIENT_ID"], ENV["CLIENT_SECRET"], ENV["UAA_URL"])
    Severity: Minor
    Found in monitor.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

        if last_user_date.nil? || last_user_date < user["metadata"]["created_at"]
    Severity: Minor
    Found in monitor.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

      sleep(ENV["SLEEP_TIMEOUT"].to_i)
    Severity: Minor
    Found in monitor.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 method body beginning.
    Open

    
      last_user_date = nil
    Severity: Minor
    Found in monitor.rb by rubocop

    This cops checks if empty lines exist around the bodies of methods.

    Example:

    # good
    
    def foo
      # ...
    end
    
    # bad
    
    def bar
    
      # ...
    
    end

    Tab detected.
    Open

        users = @cf_client.get_users
    Severity: Minor
    Found in monitor.rb by rubocop

    Tab detected.
    Open

            sandbox_org = @cf_client.create_organization(sandbox_org_name, org_quota["metadata"]["guid"])
    Severity: Minor
    Found in monitor.rb by rubocop

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

          @cf_client.add_user_to_org(user["metadata"]["guid"], sandbox_org['metadata']["guid"])
    Severity: Minor
    Found in monitor.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

            @cf_client.create_organization_space_quota_definition(sandbox_org['metadata']["guid"], SANDBOX_QUOTA_NAME)
    Severity: Minor
    Found in monitor.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"

    Missing space after #.
    Open

          #check if org quota already exists - if not, create
    Severity: Minor
    Found in monitor.rb by rubocop

    This cop checks whether comments have a leading space after the # denoting the start of the comment. The leading space is not required for some RDoc special syntax, like #++, #--, #:nodoc, =begin- and =end comments, "shebang" directives, or rackup options.

    Example:

    # bad
    #Some comment
    
    # good
    # Some comment

    Literal true appeared as a condition.
    Open

    while true
    Severity: Minor
    Found in monitor.rb by rubocop

    This cop checks for literals used as the conditions or as operands in and/or expressions serving as the conditions of if/while/until.

    Example:

    # bad
    
    if 20
      do_something
    end

    Example:

    # bad
    
    if some_var && true
      do_something
    end

    Example:

    # good
    
    if some_var && some_condition
      do_something
    end

    Line is too long. [91/80]
    Open

          @cf_client.add_user_to_org(user["metadata"]["guid"], sandbox_org['metadata']["guid"])
    Severity: Minor
    Found in monitor.rb by rubocop

    Freeze mutable objects assigned to constants.
    Open

    SANDBOX_QUOTA_NAME = 'sandbox_quota'
    Severity: Minor
    Found in monitor.rb by rubocop

    This cop checks whether some constant value isn't a mutable literal (e.g. array or hash).

    Example:

    # bad
    CONST = [1, 2, 3]
    
    # good
    CONST = [1, 2, 3].freeze

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

            sandbox_org = @cf_client.create_organization(sandbox_org_name, org_quota["metadata"]["guid"])
    Severity: Minor
    Found in monitor.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

              [user["metadata"]["guid"]], [user["metadata"]["guid"]],
    Severity: Minor
    Found in monitor.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"

    Indent the first line of the right-hand-side of a multi-line assignment.
    Open

            @cf_client.create_organization_space_quota_definition(sandbox_org['metadata']["guid"], SANDBOX_QUOTA_NAME)
    Severity: Minor
    Found in monitor.rb by rubocop

    This cop checks the indentation of the first line of the right-hand-side of a multi-line assignment.

    Example:

    # bad
    value =
    if foo
      'bar'
    end
    
    # good
    value =
      if foo
        'bar'
      end

    The indentation of the remaining lines can be corrected with other cops such as IndentationConsistency and EndAlignment.

    Align the operands of a condition in an if statement spanning multiple lines.
    Open

          !@cf_client.organization_space_name_exists?(sandbox_org['metadata']['guid'], user_space_name)
    Severity: Minor
    Found in monitor.rb by rubocop

    This cop checks the indentation of the right hand side operand in binary operations that span more than one line.

    Example:

    # bad
    if a +
    b
      something
    end
    
    # good
    if a +
       b
      something
    end

    Inconsistent indentation detected.
    Open

        users = @cf_client.get_users
    Severity: Minor
    Found in monitor.rb by rubocop

    This cops checks for inconsistent indentation.

    Example:

    class A
      def test
        puts 'hello'
         puts 'world'
      end
    end

    Avoid rescuing without specifying an error class.
    Open

            rescue
    Severity: Minor
    Found in monitor.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

    Extra empty line detected at block body beginning.
    Open

    
        is_new_org = false
    Severity: Minor
    Found in monitor.rb by rubocop

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

    Example: EnforcedStyle: empty_lines

    # good
    
    foo do |bar|
    
      # ...
    
    end

    Example: EnforcedStyle: noemptylines (default)

    # good
    
    foo do |bar|
      # ...
    end

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

        break if @last_user_date && @last_user_date >= user["metadata"]["created_at"]
    Severity: Minor
    Found in monitor.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

          if ENV["DO_SLACK"]
    Severity: Minor
    Found in monitor.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

          @cf_client.add_user_to_org(user["metadata"]["guid"], sandbox_org['metadata']["guid"])
    Severity: Minor
    Found in monitor.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. [82/80]
    Open

        # if this is a new org or the user space doesn't exist in the org - create one
    Severity: Minor
    Found in monitor.rb by rubocop

    Line is too long. [82/80]
    Open

          puts "Space #{user_space_name} already exists on #{@environment} - skipping"
    Severity: Minor
    Found in monitor.rb by rubocop

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

    @environment = get_cloud_environment(ENV["UAA_URL"])
    Severity: Minor
    Found in monitor.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

          email = user["entity"]["username"]
    Severity: Minor
    Found in monitor.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

          if ENV["DO_SLACK"]
    Severity: Minor
    Found in monitor.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

              @notifier.ping msg, icon_emoji: ":cloud:"
    Severity: Minor
    Found in monitor.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"

    Favor unless over if for negative conditions.
    Open

          if !is_new_org
            puts "Increasing org quota for #{sandbox_org_name} on #{@environment}"
            @cf_client.increase_org_quota(sandbox_org)
          end
    Severity: Minor
    Found in monitor.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

    Avoid rescuing without specifying an error class.
    Open

            rescue
    Severity: Minor
    Found in monitor.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

    @cf_client = CFClient.new(ENV["CLIENT_ID"], ENV["CLIENT_SECRET"], ENV["UAA_URL"])
    Severity: Minor
    Found in monitor.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"

    Tab detected.
    Open

          email = user["entity"]["username"]
    Severity: Minor
    Found in monitor.rb by rubocop

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

            sandbox_org = @cf_client.create_organization(sandbox_org_name, org_quota["metadata"]["guid"])
    Severity: Minor
    Found in monitor.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. [114/80]
    Open

            @cf_client.create_organization_space_quota_definition(sandbox_org['metadata']["guid"], SANDBOX_QUOTA_NAME)
    Severity: Minor
    Found in monitor.rb by rubocop

    Line is too long. [88/80]
    Open

          # create user space using the first portion of the email address as the space name
    Severity: Minor
    Found in monitor.rb by rubocop

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

          last_user_date = user["metadata"]["created_at"]
    Severity: Minor
    Found in monitor.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

              [user["metadata"]["guid"]], [user["metadata"]["guid"]],
    Severity: Minor
    Found in monitor.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

          msg = "Setting up new sandbox user #{user["entity"]["username"]} in #{sandbox_org_name} on #{@environment}"
    Severity: Minor
    Found in monitor.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

          last_user_date = user["metadata"]["created_at"]
    Severity: Minor
    Found in monitor.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 Kernel#loop for infinite loops.
    Open

    while true
    Severity: Minor
    Found in monitor.rb by rubocop

    Use Kernel#loop for infinite loops.

    Example:

    # bad
    while true
      work
    end
    
    # good
    loop do
      work
    end

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

        break if @last_user_date && @last_user_date >= user["metadata"]["created_at"]
    Severity: Minor
    Found in monitor.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

          email = user["entity"]["username"]
    Severity: Minor
    Found in monitor.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

          @cf_client.add_user_to_org(user["metadata"]["guid"], sandbox_org['metadata']["guid"])
    Severity: Minor
    Found in monitor.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. [113/80]
    Open

          msg = "Setting up new sandbox user #{user["entity"]["username"]} in #{sandbox_org_name} on #{@environment}"
    Severity: Minor
    Found in monitor.rb by rubocop

    Line is too long. [92/80]
    Open

          #get the sandbox space quoto definition for this org - if one doesn't exist, create it
    Severity: Minor
    Found in monitor.rb by rubocop

    include is used at the top level. Use inside class or module.
    Open

    include MonitorHelper
    Severity: Minor
    Found in monitor.rb by rubocop

    This cop checks that include, extend and prepend exists at the top level. Using these at the top level affects the behavior of Object. There will not be using include, extend and prepend at the top level. Let's use it inside class or module.

    Example:

    # bad
    include M
    
    class C
    end
    
    # bad
    extend M
    
    class C
    end
    
    # bad
    prepend M
    
    class C
    end
    
    # good
    class C
      include M
    end
    
    # good
    class C
      extend M
    end
    
    # good
    class C
      prepend M
    end

    Favor unless over if for negative conditions.
    Open

          if !sandbox_org_space_quota_definition
            sandbox_org_space_quota_definition =
            @cf_client.create_organization_space_quota_definition(sandbox_org['metadata']["guid"], SANDBOX_QUOTA_NAME)
          end
    Severity: Minor
    Found in monitor.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

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

              @notifier.ping msg, icon_emoji: ":cloud:"
    Severity: Minor
    Found in monitor.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"

    Align the parameters of a method call if they span more than one line.
    Open

                  channel: "#cloud-gov",
                  username: "sandboxbot"
    Severity: Minor
    Found in monitor.rb by rubocop

    Here we check if the parameters on a multi-line method call or definition are aligned.

    Example: EnforcedStyle: withfirstparameter (default)

    # good
    
    foo :bar,
        :baz
    
    # bad
    
    foo :bar,
      :baz

    Example: EnforcedStyle: withfixedindentation

    # good
    
    foo :bar,
      :baz
    
    # bad
    
    foo :bar,
        :baz

    Extra empty line detected at method body end.
    Open

    
    end
    Severity: Minor
    Found in monitor.rb by rubocop

    This cops checks if empty lines exist around the bodies of methods.

    Example:

    # good
    
    def foo
      # ...
    end
    
    # bad
    
    def bar
    
      # ...
    
    end

    Line is too long. [81/80]
    Open

    @cf_client = CFClient.new(ENV["CLIENT_ID"], ENV["CLIENT_SECRET"], ENV["UAA_URL"])
    Severity: Minor
    Found in monitor.rb by rubocop

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

          @cf_client.create_space(user_space_name, sandbox_org['metadata']["guid"],
    Severity: Minor
    Found in monitor.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

              [user["metadata"]["guid"]], [user["metadata"]["guid"]],
    Severity: Minor
    Found in monitor.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"

    Favor unless over if for negative conditions.
    Open

          if !org_quota
            puts "Creating org quota for #{sandbox_org_name}"
            org_quota = @cf_client.create_organization_quota(sandbox_org_name)
          end
    Severity: Minor
    Found in monitor.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

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

    @notifier = Slack::Notifier.new ENV["SLACK_HOOK"],
    Severity: Minor
    Found in monitor.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

                  username: "sandboxbot"
    Severity: Minor
    Found in monitor.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

              [user["metadata"]["guid"]], [user["metadata"]["guid"]],
    Severity: Minor
    Found in monitor.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"

    Inconsistent indentation detected.
    Open

          email = user["entity"]["username"]
    Severity: Minor
    Found in monitor.rb by rubocop

    This cops checks for inconsistent indentation.

    Example:

    class A
      def test
        puts 'hello'
         puts 'world'
      end
    end

    Inconsistent indentation detected.
    Open

            sandbox_org = @cf_client.create_organization(sandbox_org_name, org_quota["metadata"]["guid"])
    Severity: Minor
    Found in monitor.rb by rubocop

    This cops checks for inconsistent indentation.

    Example:

    class A
      def test
        puts 'hello'
         puts 'world'
      end
    end

    Missing space after #.
    Open

        #break out of processing if we already processed this user in previous run
    Severity: Minor
    Found in monitor.rb by rubocop

    This cop checks whether comments have a leading space after the # denoting the start of the comment. The leading space is not required for some RDoc special syntax, like #++, #--, #:nodoc, =begin- and =end comments, "shebang" directives, or rackup options.

    Example:

    # bad
    #Some comment
    
    # good
    # Some comment

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

    @cf_client = CFClient.new(ENV["CLIENT_ID"], ENV["CLIENT_SECRET"], ENV["UAA_URL"])
    Severity: Minor
    Found in monitor.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

        if last_user_date.nil? || last_user_date < user["metadata"]["created_at"]
    Severity: Minor
    Found in monitor.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

          msg = "Setting up new sandbox user #{user["entity"]["username"]} in #{sandbox_org_name} on #{@environment}"
    Severity: Minor
    Found in monitor.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 space after #.
    Open

          #get the sandbox space quoto definition for this org - if one doesn't exist, create it
    Severity: Minor
    Found in monitor.rb by rubocop

    This cop checks whether comments have a leading space after the # denoting the start of the comment. The leading space is not required for some RDoc special syntax, like #++, #--, #:nodoc, =begin- and =end comments, "shebang" directives, or rackup options.

    Example:

    # bad
    #Some comment
    
    # good
    # Some comment

    Favor unless over if for negative conditions.
    Open

        if !sandbox_org
          #check if org quota already exists - if not, create
          org_quota = @cf_client.get_organization_quota_by_name(sandbox_org_name)
          if !org_quota
            puts "Creating org quota for #{sandbox_org_name}"
    Severity: Minor
    Found in monitor.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

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

                  channel: "#cloud-gov",
    Severity: Minor
    Found in monitor.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