wrstudios/frodata

View on GitHub

Showing 507 of 507 total issues

Missing space after #.
Open

    #def or(criteria)
Severity: Minor
Found in lib/frodata/query.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

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

    def self.process_links(entity, xml_doc)
Severity: Minor
Found in lib/frodata/entity.rb by rubocop

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

Missing space after #.
Open

    #end
Severity: Minor
Found in lib/frodata/query.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

Redundant self detected.
Open

      self.count == 0
Severity: Minor
Found in lib/frodata/query.rb by rubocop

This cop checks for redundant uses of self.

The usage of self is only needed when:

  • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

  • Calling an attribute writer to prevent an local variable assignment.

Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

Note we allow uses of self with operators because it would be awkward otherwise.

Example:

# bad
def foo(bar)
  self.baz
end

# good
def foo(bar)
  self.bar  # Resolves name clash with the argument.
end

def foo
  bar = 1
  self.bar  # Resolves name clash with the local variable.
end

def foo
  %w[x y z].select do |bar|
    self.bar == bar  # Resolves name clash with argument of the block.
  end
end

Use attr_reader to define trivial reader methods.
Open

      def type_definition
Severity: Minor
Found in lib/frodata/schema/enum_type.rb by rubocop

This cop looks for trivial reader/writer methods, that could have been created with the attr_* family of functions automatically.

Example:

# bad
def foo
  @foo
end

def bar=(val)
  @bar = val
end

def self.baz
  @baz
end

# good
attr_reader :foo
attr_writer :bar

class << self
  attr_reader :baz
end

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

    def self.process_properties(entity, xml_doc)
Severity: Minor
Found in lib/frodata/entity.rb by rubocop

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

Line is too long. [95/80]
Open

            link_type = node.attributes['type'].value =~ /type=entry$/i ? :entity : :collection
Severity: Minor
Found in lib/frodata/entity.rb by rubocop

Use Hash#key? instead of Hash#has_key?.
Open

      elsif navigation_properties.has_key? prop_name
Severity: Minor
Found in lib/frodata/entity.rb by rubocop

This cop (by default) checks for uses of methods Hash#haskey? and Hash#hasvalue? where it enforces Hash#key? and Hash#value? It is configurable to enforce the inverse, using verbose method names also.

Example: EnforcedStyle: short (default)

# bad Hash#haskey? Hash#hasvalue?

# good Hash#key? Hash#value?

Example: EnforcedStyle: verbose

# bad Hash#key? Hash#value?

# good Hash#haskey? Hash#hasvalue?

Use %r around regular expression.
Open

            next unless node.attributes['type'].value =~ /^application\/atom\+xml;type=(feed|entry)$/i
Severity: Minor
Found in lib/frodata/entity.rb by rubocop

This cop enforces using // or %r around regular expressions.

Example: EnforcedStyle: slashes (default)

# bad
snake_case = %r{^[\dA-Z_]+$}

# bad
regex = %r{
  foo
  (bar)
  (baz)
}x

# good
snake_case = /^[\dA-Z_]+$/

# good
regex = /
  foo
  (bar)
  (baz)
/x

Example: EnforcedStyle: percent_r

# bad
snake_case = /^[\dA-Z_]+$/

# bad
regex = /
  foo
  (bar)
  (baz)
/x

# good
snake_case = %r{^[\dA-Z_]+$}

# good
regex = %r{
  foo
  (bar)
  (baz)
}x

Example: EnforcedStyle: mixed

# bad
snake_case = %r{^[\dA-Z_]+$}

# bad
regex = /
  foo
  (bar)
  (baz)
/x

# good
snake_case = /^[\dA-Z_]+$/

# good
regex = %r{
  foo
  (bar)
  (baz)
}x

Example: AllowInnerSlashes: false (default)

# If `false`, the cop will always recommend using `%r` if one or more
# slashes are found in the regexp string.

# bad
x =~ /home\//

# good
x =~ %r{home/}

Example: AllowInnerSlashes: true

# good
x =~ /home\//

%q-literals should be delimited by ( and ).
Open

  spec.summary       = %q{Simple OData library}
Severity: Minor
Found in frodata.gemspec by rubocop

This cop enforces the consistent usage of %-literal delimiters.

Specify the 'default' key to set all preferred delimiters at once. You can continue to specify individual preferred delimiters to override the default.

Example:

# Style/PercentLiteralDelimiters:
#   PreferredDelimiters:
#     default: '[]'
#     '%i':    '()'

# good
%w[alpha beta] + %i(gamma delta)

# bad
%W(alpha #{beta})

# bad
%I(alpha beta)

%q-literals should be delimited by ( and ).
Open

  spec.description   = %q{Provides a simple interface for working with OData V4 APIs.}
Severity: Minor
Found in frodata.gemspec by rubocop

This cop enforces the consistent usage of %-literal delimiters.

Specify the 'default' key to set all preferred delimiters at once. You can continue to specify individual preferred delimiters to override the default.

Example:

# Style/PercentLiteralDelimiters:
#   PreferredDelimiters:
#     default: '[]'
#     '%i':    '()'

# good
%w[alpha beta] + %i(gamma delta)

# bad
%W(alpha #{beta})

# bad
%I(alpha beta)

Use %q only for strings that contain both single quotes and double quotes.
Open

  spec.description   = %q{Provides a simple interface for working with OData V4 APIs.}
Severity: Minor
Found in frodata.gemspec by rubocop

Line is too long. [83/80]
Open

# The FrOData gem provides a convenient way to interact with OData V4 services from
Severity: Minor
Found in lib/frodata.rb by rubocop

Missing top-level module documentation comment.
Open

      module ComparisonOperators

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. [82/80]
Open

    # Enumeration types expose these related values as members of the enumeration.
Severity: Minor
Found in lib/frodata/schema/enum_type.rb by rubocop

Line is too long. [117/80]
Open

    # Instantiating properties takes time, so we can lazy load properties by passing xml_value and lookup when needed
Severity: Minor
Found in lib/frodata/entity.rb by rubocop

Rename is_new? to new?.
Open

    def is_new?
Severity: Minor
Found in lib/frodata/entity.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

Avoid comma after the last item of a hash.
Open

      'xmlns:gml'       => 'http://www.opengis.net/gml',
Severity: Minor
Found in lib/frodata/entity.rb by rubocop

This cop checks for trailing comma in array and hash literals.

Example: EnforcedStyleForMultiline: consistent_comma

# bad
a = [1, 2,]

# good
a = [
  1, 2,
  3,
]

# good
a = [
  1,
  2,
]

Example: EnforcedStyleForMultiline: comma

# bad
a = [1, 2,]

# good
a = [
  1,
  2,
]

Example: EnforcedStyleForMultiline: no_comma (default)

# bad
a = [1, 2,]

# good
a = [
  1,
  2
]

Line is too long. [86/80]
Open

  spec.description   = %q{Provides a simple interface for working with OData V4 APIs.}
Severity: Minor
Found in frodata.gemspec by rubocop

Unused method argument - block. If it's necessary, use _ or _block as an argument name to indicate that it won't be used.
Open

      def each_batch(per_page, &block)
Severity: Minor
Found in lib/frodata/query/in_batches.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
Severity
Category
Status
Source
Language