wrstudios/frodata

View on GitHub

Showing 507 of 507 total issues

Align else with if.
Open

      else
Severity: Minor
Found in lib/frodata/service.rb by rubocop

This cops checks the alignment of else keywords. Normally they should be aligned with an if/unless/while/until/begin/def keyword, but there are special cases when they should follow the same rules as the alignment of end.

Example:

# bad
if something
  code
 else
  code
end

# bad
if something
  code
 elsif something
  code
end

# good
if something
  code
else
  code
end

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

        unless value.is_a?(::Time)
Severity: Minor
Found in lib/frodata/properties/time.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

Prefer to_s over string interpolation.
Open

        "#{value.to_f}"
Severity: Minor
Found in lib/frodata/properties/decimal.rb by rubocop

This cop checks for strings that are just an interpolated expression.

Example:

# bad
"#{@var}"

# good
@var.to_s

# good if @var is already a String
@var

Indent the right brace the same as the first position after the preceding left parenthesis.
Open

        })
Severity: Minor
Found in lib/frodata/properties/string.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
                        }

Space missing after comma.
Open

        unless [0,1,'0','1','true','false',true,false].include?(value)
Severity: Minor
Found in lib/frodata/properties/boolean.rb by rubocop

Checks for comma (,) not followed by some kind of space.

Example:

# bad
[1,2]
{ foo:bar,}

# good
[1, 2]
{ foo:bar, }

Line is too long. [90/80]
Open

          validation_error "Value '#{value}' is not a date time format that can be parsed"
Severity: Minor
Found in lib/frodata/properties/date_time.rb by rubocop

private (on line 28) does not make singleton methods private. Use private_class_method or private inside a class << self block instead.
Open

        def self.parse_xml(property_xml)

This cop checks for private or protected access modifiers which are applied to a singleton method. These access modifiers do not make singleton methods private/protected. private_class_method can be used for that.

Example:

# bad

class C
  private

  def self.method
    puts 'hi'
  end
end

Example:

# good

class C
  def self.method
    puts 'hi'
  end

  private_class_method :method
end

Example:

# good

class C
  class << self
    private

    def method
      puts 'hi'
    end
  end
end

Rename has_default_value? to default_value?.
Open

      def has_default_value?
Severity: Minor
Found in lib/frodata/properties/string.rb by rubocop

This cop makes sure that predicates are named properly.

Example:

# bad
def is_even?(value)
end

# good
def even?(value)
end

# bad
def has_value?
end

# good
def value?
end

Final newline missing.
Open

end
Severity: Minor
Found in lib/frodata/properties/integer.rb by rubocop

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

        unless [0,1,'0','1','true','false',true,false].include?(value)
Severity: Minor
Found in lib/frodata/properties/boolean.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

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

      403 => "Forbidden",
Severity: Minor
Found in lib/frodata/errors.rb by rubocop

Checks if uses of quotes match the configured preference.

Example: EnforcedStyle: single_quotes (default)

# bad
"No special symbols"
"No string interpolation"
"Just text"

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

Example: EnforcedStyle: double_quotes

# bad
'Just some text'
'No special chars or interpolation'

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

Space missing after comma.
Open

        unless [0,1,'0','1',true,false].include?(value)
Severity: Minor
Found in lib/frodata/properties/binary.rb by rubocop

Checks for comma (,) not followed by some kind of space.

Example:

# bad
[1,2]
{ foo:bar,}

# good
[1, 2]
{ foo:bar, }

Line is too long. [92/80]
Open

        service.logger.info "[ODATA: #{service_name}] Unable to commit data to #{url_chunk}"
Severity: Minor
Found in lib/frodata/entity_set.rb by rubocop

Line is too long. [88/80]
Open

            validation_error "Value must be one of #{members.to_a}, but was: '#{value}'"
Severity: Minor
Found in lib/frodata/properties/enum.rb by rubocop

Do not suppress exceptions.
Open

    rescue NotImplementedError
Severity: Minor
Found in lib/frodata/properties.rb by rubocop

This cop checks for rescue blocks with no body.

Example:

# bad

def some_method
  do_something
rescue
  # do nothing
end

Example:

# bad

begin
  do_something
rescue
  # do nothing
end

Example:

# good

def some_method
  do_something
rescue
  handle_exception
end

Example:

# good

begin
  do_something
rescue
  handle_exception
end

Use options[:srid] = srid_from_xml(property_xml) instead of options.merge!(srid: srid_from_xml(property_xml)).
Open

            options.merge!(srid: srid_from_xml(property_xml))

This cop identifies places where Hash#merge! can be replaced by Hash#[]=.

Example:

hash.merge!(a: 1)
hash.merge!({'key' => 'value'})
hash.merge!(a: 1, b: 2)

Unused method argument - entity_options. If it's necessary, use _ or _entity_options as an argument name to indicate that it won't be used. You can also write as parse_entity(*) if you want the method to accept any arguments but don't care about them.
Open

        def parse_entity(entity_data, entity_options)
Severity: Minor
Found in lib/frodata/service/response/xml.rb by rubocop

This cop checks for unused method arguments.

Example:

# bad

def some_method(used, unused, _unused_but_allowed)
  puts used
end

Example:

# good

def some_method(used, _unused, _unused_but_allowed)
  puts used
end

Missing top-level class documentation comment.
Open

      class LineString < Base

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

Line is too long. [95/80]
Open

        property_options[:allows_nil] = false if property_xml.attributes['Nullable'] == 'false'
Severity: Minor
Found in lib/frodata/schema.rb by rubocop

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

      400 => "Bad Request",
Severity: Minor
Found in lib/frodata/errors.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"
Severity
Category
Status
Source
Language