orange-cloudfoundry/cf-ops-automation

View on GitHub
scripts/prepare_hotfix_release.rb

Summary

Maintainability
A
0 mins
Test Coverage

create_hotfix_version doesn't depend on instance state (maybe move it to another class?)
Open

def create_hotfix_version(version)
Severity: Minor
Found in scripts/prepare_hotfix_release.rb by reek

A Utility Function is any instance method that has no dependency on the state of the instance.

create_hotfix_release_note_template doesn't depend on instance state (maybe move it to another class?)
Open

def create_hotfix_release_note_template(version)
Severity: Minor
Found in scripts/prepare_hotfix_release.rb by reek

A Utility Function is any instance method that has no dependency on the state of the instance.

Use match? instead of =~ when MatchData is not used.
Open

    options[:version] = v_string if v_string =~ /\d{1,2}\.\d{1,2}\.\d{1,2}/
Severity: Minor
Found in scripts/prepare_hotfix_release.rb by rubocop

In Ruby 2.4, String#match?, Regexp#match? and Symbol#match? have been added. The methods are faster than match. Because the methods avoid creating a MatchData object or saving backref. So, when MatchData is not used, use match? instead of match.

Example:

# bad
def foo
  if x =~ /re/
    do_something
  end
end

# bad
def foo
  if x.match(/re/)
    do_something
  end
end

# bad
def foo
  if /re/ === x
    do_something
  end
end

# good
def foo
  if x.match?(/re/)
    do_something
  end
end

# good
def foo
  if x =~ /re/
    do_something(Regexp.last_match)
  end
end

# good
def foo
  if x.match(/re/)
    do_something($~)
  end
end

# good
def foo
  if /re/ === x
    do_something($~)
  end
end

TODO found
Open

  - TODO
Severity: Minor
Found in scripts/prepare_hotfix_release.rb by fixme

Use 2 spaces for indentation in a hash, relative to the start of the line where the left curly brace is.
Open

    version: ''
Severity: Minor
Found in scripts/prepare_hotfix_release.rb by rubocop

This cops checks the indentation of the first key in a hash literal where the opening brace and the first key are on separate lines. The other keys' indentations are handled by the AlignHash cop.

By default, Hash literals that are arguments in a method call with parentheses, and where the opening curly brace of the hash is on the same line as the opening parenthesis of the method call, shall have their first key indented one step (two spaces) more than the position inside the opening parenthesis.

Other hash literals shall have their first key indented one step more than the start of the line where the opening curly brace is.

This default style is called 'specialinsideparentheses'. Alternative styles are 'consistent' and 'align_braces'. Here are examples:

Example: EnforcedStyle: specialinsideparentheses (default)

# The `special_inside_parentheses` style enforces that the first key
# in a hash literal where the opening brace and the first key are on
# separate lines is indented one step (two spaces) more than the
# position inside the opening parentheses.

# bad
hash = {
  key: :value
}
and_in_a_method_call({
  no: :difference
                     })

# good
special_inside_parentheses
hash = {
  key: :value
}
but_in_a_method_call({
                       its_like: :this
                     })

Example: EnforcedStyle: consistent

# The `consistent` style enforces that the first key in a hash
# literal where the opening brace and the first key are on
# seprate lines is indented the same as a hash literal which is not
# defined inside a method call.

# bad
hash = {
  key: :value
}
but_in_a_method_call({
                       its_like: :this
                      })

# good
hash = {
  key: :value
}
and_in_a_method_call({
  no: :difference
})

Example: EnforcedStyle: align_braces

# The `align_brackets` style enforces that the opening and closing
# braces are indented to the same position.

# bad
and_now_for_something = {
                          completely: :different
}

# good
and_now_for_something = {
                          completely: :different
                        }

Trailing whitespace detected.
Open

  
Severity: Minor
Found in scripts/prepare_hotfix_release.rb by rubocop

Extra blank line detected.
Open


options = {
Severity: Minor
Found in scripts/prepare_hotfix_release.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 2 spaces for indentation in a heredoc by using <<~ instead of <<~.
Open

  #Hotfix release
  ## [v#{version}](https://github.com/orange-cloudfoundry/cf-ops-automation/tree/v#{version})
  
  **Fixed bugs:**
  
Severity: Minor
Found in scripts/prepare_hotfix_release.rb by rubocop

This cops checks the indentation of the here document bodies. The bodies are indented one step. In Ruby 2.3 or newer, squiggly heredocs (<<~) should be used. If you use the older rubies, you should introduce some library to your project (e.g. ActiveSupport, Powerpack or Unindent). Note: When Metrics/LineLength's AllowHeredoc is false(not default), this cop does not add any offenses for long here documents to avoid Metrics/LineLength's offenses.

Example:

# bad
<<-RUBY
something
RUBY

# good
# When EnforcedStyle is squiggly, bad code is auto-corrected to the
# following code.
<<~RUBY
  something
RUBY

# good
# When EnforcedStyle is active_support, bad code is auto-corrected to
# the following code.
<<-RUBY.strip_heredoc
  something
RUBY

Extra blank line detected.
Open


def create_hotfix_release_note_template(version)
Severity: Minor
Found in scripts/prepare_hotfix_release.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

Freeze mutable objects assigned to constants.
Open

HOTFIX_VERSION_FILENAME = 'hotfix.version'
Severity: Minor
Found in scripts/prepare_hotfix_release.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

Use empty lines between method definitions.
Open

def create_hotfix_release_note_template(version)
Severity: Minor
Found in scripts/prepare_hotfix_release.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



Severity: Minor
Found in scripts/prepare_hotfix_release.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 method body end.
Open


end
Severity: Minor
Found in scripts/prepare_hotfix_release.rb by rubocop

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

Example:

# good

def foo
  # ...
end

# bad

def bar

  # ...

end

Freeze mutable objects assigned to constants.
Open

HOTFIX_RELEASE_NOTES_FILENAME = 'hotfix_release_notes.md'
Severity: Minor
Found in scripts/prepare_hotfix_release.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

Trailing whitespace detected.
Open

  
Severity: Minor
Found in scripts/prepare_hotfix_release.rb by rubocop

There are no issues that match your filters.

Category
Status