marceloboeira/feedcast

View on GitHub
app/services/episode_services/synchronize.rb

Summary

Maintainability
A
45 mins
Test Coverage
A
100%

Method has too many lines. [14/10]
Open

    def call(title, summary, description, url, published_at, channel)
      episode = Episode.where(published_at: published_at, channel_id: channel.id).first

      if episode.present?
        episode.update!(title: title,

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 call has 6 arguments (exceeds 4 allowed). Consider refactoring.
Open

    def call(title, summary, description, url, published_at, channel)
Severity: Minor
Found in app/services/episode_services/synchronize.rb - About 45 mins to fix

    Avoid parameter lists longer than 5 parameters. [6/5]
    Open

        def call(title, summary, description, url, published_at, channel)

    This cop checks for methods with too many parameters. The maximum number of parameters is configurable. Keyword arguments can optionally be excluded from the total count.

    Missing magic comment # frozen_string_literal: true.
    Open

    module EpisodeServices

    This cop is designed to help upgrade to Ruby 3.0. It will add the comment # frozen_string_literal: true to the top of files to enable frozen string literals. Frozen string literals may be default in Ruby 3.0. The comment will be added below a shebang and encoding comment. The frozen string literal comment is only valid in Ruby 2.3+.

    Example: EnforcedStyle: when_needed (default)

    # The `when_needed` style will add the frozen string literal comment
    # to files only when the `TargetRubyVersion` is set to 2.3+.
    # bad
    module Foo
      # ...
    end
    
    # good
    # frozen_string_literal: true
    
    module Foo
      # ...
    end

    Example: EnforcedStyle: always

    # The `always` style will always add the frozen string literal comment
    # to a file, regardless of the Ruby version or if `freeze` or `<<` are
    # called on a string literal.
    # bad
    module Bar
      # ...
    end
    
    # good
    # frozen_string_literal: true
    
    module Bar
      # ...
    end

    Example: EnforcedStyle: never

    # The `never` will enforce that the frozen string literal comment does
    # not exist in a file.
    # bad
    # frozen_string_literal: true
    
    module Baz
      # ...
    end
    
    # good
    module Baz
      # ...
    end

    Missing top-level class documentation comment.
    Open

      class Synchronize

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

          episode = Episode.where(published_at: published_at, channel_id: channel.id).first

    There are no issues that match your filters.

    Category
    Status