rambler-digital-solutions/Generamba

View on GitHub

Showing 840 of 840 total issues

Line is too long. [133/80]
Open

          should_use_same_paths = yes?('Do you want to use the same paths for your files both in Xcode and the filesystem? (yes/no)')
Severity: Minor
Found in lib/generamba/cli/setup_command.rb by rubocop

Line is too long. [82/80]
Open

        properties[CARTFILE_PATH_KEY] = ask_file_with_path('Cartfile', 'Cartfile')
Severity: Minor
Found in lib/generamba/cli/setup_command.rb by rubocop

Line is too long. [92/80]
Open

            test_file_path = ask('The default path for creating tests (in the filesystem):')
Severity: Minor
Found in lib/generamba/cli/setup_command.rb by rubocop

Line is too long. [108/80]
Open

      should_add_all_modules_by_one_path = yes?('Do you want to add all your modules by one path? (yes/no)')
Severity: Minor
Found in lib/generamba/cli/setup_command.rb by rubocop

Line is too long. [91/80]
Open

        puts('Rambafile successfully created! Now run `generamba template install`.'.green)
Severity: Minor
Found in lib/generamba/cli/setup_command.rb by rubocop

Missing top-level class documentation comment.
Open

  class Application < Thor
Severity: Minor
Found in lib/generamba/cli/setup_command.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

Space missing to the left of {.
Open

        return ask_with_validation(message,->(value){value.length > 0 },description)
Severity: Minor
Found in lib/generamba/cli/thor_extension.rb by rubocop

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

Example:

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

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

Extra empty line detected at module body beginning.
Open


  # A class that provides methods for working with user-specific information.

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

Use !empty? instead of length > 0.
Open

        return ask_with_validation(message,->(value){value.length > 0 },description)
Severity: Minor
Found in lib/generamba/cli/thor_extension.rb by rubocop

This cop checks for numeric comparisons that can be replaced by a predicate method, such as receiver.length == 0, receiver.length > 0, receiver.length != 0, receiver.length < 1 and receiver.size == 0 that can be replaced by receiver.empty? and !receiver.empty.

Example:

# bad
[1, 2, 3].length == 0
0 == "foobar".length
array.length < 1
{a: 1, b: 2}.length != 0
string.length > 0
hash.size > 0

# good
[1, 2, 3].empty?
"foobar".empty?
array.empty?
!{a: 1, b: 2}.empty?
!string.empty?
!hash.empty?

Put one space between the method name and the first argument.
Open

          is_right_path = yes?"The path to a #{message_file_name} is '#{project_files[0]}'. Do you want to use it? (yes/no)"
Severity: Minor
Found in lib/generamba/cli/thor_extension.rb by rubocop

Checks that exactly one space is used between a method name and the first argument for method calls without parentheses.

Alternatively, extra spaces can be added to align the argument with something on a preceding or following line, if the AllowForAlignment config parameter is true.

Example:

# bad
something  x
something   y, z
something'hello'

# good
something x
something y, z
something 'hello'

Missing top-level class documentation comment.
Open

  class ::Thor
Severity: Minor
Found in lib/generamba/cli/thor_extension.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

Redundant return detected.
Open

        return xcode_path
Severity: Minor
Found in lib/generamba/cli/thor_extension.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.

Final newline missing.
Open

end

Dependencies should be sorted in an alphabetical order within their section of the gemspec. Dependency liquid should appear before xcodeproj.
Open

  spec.add_runtime_dependency 'liquid', '4.0.0'
Severity: Minor
Found in generamba.gemspec by rubocop

Dependencies in the gemspec should be alphabetically sorted.

Example:

# bad
spec.add_dependency 'rubocop'
spec.add_dependency 'rspec'

# good
spec.add_dependency 'rspec'
spec.add_dependency 'rubocop'

# good
spec.add_dependency 'rubocop'

spec.add_dependency 'rspec'

# bad
spec.add_development_dependency 'rubocop'
spec.add_development_dependency 'rspec'

# good
spec.add_development_dependency 'rspec'
spec.add_development_dependency 'rubocop'

# good
spec.add_development_dependency 'rubocop'

spec.add_development_dependency 'rspec'

# bad
spec.add_runtime_dependency 'rubocop'
spec.add_runtime_dependency 'rspec'

# good
spec.add_runtime_dependency 'rspec'
spec.add_runtime_dependency 'rubocop'

# good
spec.add_runtime_dependency 'rubocop'

spec.add_runtime_dependency 'rspec'

# good only if TreatCommentsAsGroupSeparators is true
# For code quality
spec.add_dependency 'rubocop'
# For tests
spec.add_dependency 'rspec'

Line is too long. [83/80]
Open

      properties[PROJECT_GROUP_PATH_KEY] = project_group_path if project_group_path
Severity: Minor
Found in lib/generamba/cli/setup_command.rb by rubocop

Line is too long. [85/80]
Open

      def ask_with_validation(message, is_valid_value, description = 'Invalid value')
Severity: Minor
Found in lib/generamba/cli/thor_extension.rb by rubocop

Use && instead of and.
Open

        value_index = ask_with_validation(message,->(value){ (value.to_i >= 0 and value.to_i < array.count) },"Invalid selection. Please enter number from 0 to #{array.count-1}")
Severity: Minor
Found in lib/generamba/cli/thor_extension.rb by rubocop

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

Example: EnforcedStyle: always (default)

# bad
foo.save and return

# bad
if foo and bar
end

# good
foo.save && return

# good
if foo && bar
end

Example: EnforcedStyle: conditionals

# bad
if foo and bar
end

# good
foo.save && return

# good
foo.save and return

# good
if foo && bar
end

Prefer using YAML.safe_load over YAML.load.
Open

      preferences = file_contents.empty? ? {} : YAML.load(file_contents).to_hash

This cop checks for the use of YAML class methods which have potential security issues leading to remote code execution when loading from an untrusted source.

Example:

# bad
YAML.load("--- foo")

# good
YAML.safe_load("--- foo")
YAML.dump("foo")

Line is too long. [90/80]
Open

      properties[COMPANY_KEY] = ask('The company name which will be used in the headers:')
Severity: Minor
Found in lib/generamba/cli/setup_command.rb by rubocop

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

      unless path_exists

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

Example:

# bad
if condition
  do_stuff(bar)
end

unless qux.empty?
  Foo.do_something
end

# good
do_stuff(bar) if condition
Foo.do_something unless qux.empty?
Severity
Category
Status
Source
Language