houston/houston-core

View on GitHub
lib/houston/boot/configuration.rb

Summary

Maintainability
C
1 day
Test Coverage

Class has too many lines. [253/100]
Open

  class Configuration
    attr_reader :observer, :actions, :timer, :oauth_providers

    def initialize
      @root = Rails.root
Severity: Minor
Found in lib/houston/boot/configuration.rb by rubocop

This cop checks if the length a class exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

Class Configuration has 43 methods (exceeds 20 allowed). Consider refactoring.
Open

  class Configuration
    attr_reader :observer, :actions, :timer, :oauth_providers

    def initialize
      @root = Rails.root
Severity: Minor
Found in lib/houston/boot/configuration.rb - About 5 hrs to fix

    Assignment Branch Condition size for root is too high. [43.22/15]
    Open

        def root(*args)
          if args.any?
            @root = args.first
    
            # Keep structure.sql in instances' db directory
    Severity: Minor
    Found in lib/houston/boot/configuration.rb by rubocop

    This cop checks that the ABC size of methods is not higher than the configured maximum. The ABC size is based on assignments, branches (method calls), and conditions. See http://c2.com/cgi/wiki?AbcMetric

    File configuration.rb has 344 lines of code (exceeds 250 allowed). Consider refactoring.
    Open

    root = File.expand_path(File.join(File.dirname(__FILE__), "../../.."))
    require File.join(root, "lib/hash_dsl")
    require File.join(root, "lib/core_ext/hash")
    require File.join(root, "lib/core_ext/kernel")
    require File.join(root, "lib/core_ext/exception")
    Severity: Minor
    Found in lib/houston/boot/configuration.rb - About 4 hrs to fix

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

          def root(*args)
            if args.any?
              @root = args.first
      
              # Keep structure.sql in instances' db directory
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      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 root has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
      Open

          def root(*args)
            if args.any?
              @root = args.first
      
              # Keep structure.sql in instances' db directory
      Severity: Minor
      Found in lib/houston/boot/configuration.rb - About 1 hr to fix

      Cognitive Complexity

      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

      A method's cognitive complexity is based on a few simple rules:

      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
      • Code is considered more complex for each "break in the linear flow of the code"
      • Code is considered more complex when "flow breaking structures are nested"

      Further reading

      Method host has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
      Open

          def host(*args)
            if args.any?
              @host = args.first
      
              if Rails.env.production?
      Severity: Minor
      Found in lib/houston/boot/configuration.rb - About 25 mins to fix

      Cognitive Complexity

      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

      A method's cognitive complexity is based on a few simple rules:

      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
      • Code is considered more complex for each "break in the linear flow of the code"
      • Code is considered more complex when "flow breaking structures are nested"

      Further reading

      Use caller(1..1).first instead of caller[0].
      Open

            puts "\e[31mMissing Configuration option: \e[1m#{name}\e[0;90m\n#{caller[0]}\e[0m\n\n"
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      This cop identifies places where caller[n] can be replaced by caller(n..n).first.

      Example:

      # bad
      caller[1]
      caller.first
      caller_locations[1]
      caller_locations.first
      
      # good
      caller(2..2).first
      caller(1..1).first
      caller_locations(2..2).first
      caller_locations(1..1).first

      Use caller(1..1).first instead of caller[0].
      Open

              puts "\e[31mUnregistered event: \e[1m#{event_name}\e[0;90m\n#{caller[0]}\e[0m\n\n"
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      This cop identifies places where caller[n] can be replaced by caller(n..n).first.

      Example:

      # bad
      caller[1]
      caller.first
      caller_locations[1]
      caller_locations.first
      
      # good
      caller(2..2).first
      caller(1..1).first
      caller_locations(2..2).first
      caller_locations(1..1).first

      Use caller(1..1).first instead of caller[0].
      Open

            __file__ = caller[0].split(":")[0]
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      This cop identifies places where caller[n] can be replaced by caller(n..n).first.

      Example:

      # bad
      caller[1]
      caller.first
      caller_locations[1]
      caller_locations.first
      
      # good
      caller(2..2).first
      caller(1..1).first
      caller_locations(2..2).first
      caller_locations(1..1).first

      Use (Rails.application.config.action_mailer.default_options ||= {})[:from] = @mailer_sender instead of (Rails.application.config.action_mailer.default_options ||= {}).merge!(from: @mailer_sender).
      Open

              (Rails.application.config.action_mailer.default_options ||= {}).merge!(from: @mailer_sender)
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      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)

      Extra blank line detected.
      Open

      
      
      
      Severity: Minor
      Found in lib/houston/boot/configuration.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

      Indent access modifiers like module_function.
      Open

      module_function
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      Modifiers should be indented as deep as method definitions, or as deep as the class/module keyword, depending on configuration.

      Example: EnforcedStyle: indent (default)

      # bad
      class Plumbus
      private
        def smooth; end
      end
      
      # good
      class Plumbus
        private
        def smooth; end
      end

      Example: EnforcedStyle: outdent

      # bad
      class Plumbus
        private
        def smooth; end
      end
      
      # good
      class Plumbus
      private
        def smooth; end
      end

      Extra blank line detected.
      Open

      
          # Permissions
      Severity: Minor
      Found in lib/houston/boot/configuration.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 module body end.
      Open

      
      end
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      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

      Surrounding space missing in default value assignment.
      Open

        def deprecation_notice(message, stack_offset=1)
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      Checks that the equals signs in parameter default assignments have or don't have surrounding space depending on configuration.

      Example:

      # bad
      def some_method(arg1=:default, arg2=nil, arg3=[])
        # do something...
      end
      
      # good
      def some_method(arg1 = :default, arg2 = nil, arg3 = [])
        # do something...
      end

      Align .map with %w{http https} on line 114.
      Open

                  .map { |protocol| "#{protocol}://#{host}" }
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      This cop checks the indentation of the method name part in method calls that span more than one line.

      Example: EnforcedStyle: aligned

      # bad
      while myvariable
      .b
        # do something
      end
      
      # good
      while myvariable
            .b
        # do something
      end
      
      # good
      Thing.a
           .b
           .c

      Example: EnforcedStyle: indented

      # good
      while myvariable
        .b
      
        # do something
      end

      Example: EnforcedStyle: indentedrelativeto_receiver

      # good
      while myvariable
              .a
              .b
      
        # do something
      end
      
      # good
      myvariable = Thing
                     .a
                     .b
                     .c

      Extra blank line detected.
      Open

      
      
      
      Severity: Minor
      Found in lib/houston/boot/configuration.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

      Method Houston::Configuration#actions is defined at both lib/houston/boot/configuration.rb:23 and lib/houston/boot/configuration.rb:47.
      Open

          def actions
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      This cop checks for duplicated instance (or singleton) method definitions.

      Example:

      # bad
      
      def duplicated
        1
      end
      
      def duplicated
        2
      end

      Example:

      # bad
      
      def duplicated
        1
      end
      
      alias duplicated other_duplicated

      Example:

      # good
      
      def duplicated
        1
      end
      
      def other_duplicated
        2
      end

      Extra empty line detected at class body end.
      Open

      
        end
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      This cops checks if empty lines around the bodies of classes match the configuration.

      Example: EnforcedStyle: empty_lines

      # good
      
      class Foo
      
        def bar
          # ...
        end
      
      end

      Example: EnforcedStyle: emptylinesexcept_namespace

      # good
      
      class Foo
        class Bar
      
          # ...
      
        end
      end

      Example: EnforcedStyle: emptylinesspecial

      # good
      class Foo
      
        def bar; end
      
      end

      Example: EnforcedStyle: noemptylines (default)

      # good
      
      class Foo
        def bar
          # ...
        end
      end

      Extra blank line detected.
      Open

      
      
      
      Severity: Minor
      Found in lib/houston/boot/configuration.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

      Favor a normal if-statement over a modifier clause in a multiline statement.
      Open

            if mod.accepts_configuration?
              mod.load_configuration(block)
            else raise ArgumentError, "#{module_name} does not accept configuration"
            end if block_given?
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      Checks for uses of if/unless modifiers with multiple-lines bodies.

      Example:

      # bad
      {
        result: 'this should not happen'
      } unless cond
      
      # good
      { result: 'ok' } if cond

      File.exists? is deprecated in favor of File.exist?.
      Open

              if File.exists?(cable_config)
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      This cop checks for uses of the deprecated class method usages.

      Example:

      # bad
      
      File.exists?(some_path)

      Example:

      # good
      
      File.exist?(some_path)

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

      require File.join(root, "lib/core_ext/hash")
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

      Do not use prefix _ for a variable that is used.
      Open

            __file__ = caller[0].split(":")[0]
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      This cop checks for underscore-prefixed variables that are actually used.

      Example:

      # bad
      
      [1, 2, 3].each do |_num|
        do_something(_num)
      end

      Example:

      # good
      
      [1, 2, 3].each do |num|
        do_something(num)
      end

      Example:

      # good
      
      [1, 2, 3].each do |_num|
        do_something # not using `_num`
      end

      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 method_missing(name, *args, &block)
      Severity: Minor
      Found in lib/houston/boot/configuration.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

      Line is too long. [92/80]
      Open

            raise ArgumentError, "Provider must define a client_id" if settings[:client_id].blank?
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

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

      require File.join(root, "lib/core_ext/exception")
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

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

              Houston::Application.paths["log"] = root.join("log/#{Rails.env}.log")
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

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

            raise ArgumentError, "Provider must define a client_id" if settings[:client_id].blank?
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

      Keep a blank line after module_function.
      Open

      module_function
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      Access modifiers should be surrounded by blank lines.

      Example:

      # bad
      class Foo
        def bar; end
        private
        def baz; end
      end
      
      # good
      class Foo
        def bar; end
      
        private
      
        def baz; end
      end

      Extra blank line detected.
      Open

      
          # Modules
      Severity: Minor
      Found in lib/houston/boot/configuration.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

      Surrounding space missing in default value assignment.
      Open

          def as_json(options={})
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      Checks that the equals signs in parameter default assignments have or don't have surrounding space depending on configuration.

      Example:

      # bad
      def some_method(arg1=:default, arg2=nil, arg3=[])
        # do something...
      end
      
      # good
      def some_method(arg1 = :default, arg2 = nil, arg3 = [])
        # do something...
      end

      Useless module_function access modifier.
      Open

      module_function
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      This cop checks for redundant access modifiers, including those with no code, those which are repeated, and leading public modifiers in a class or module body. Conditionally-defined methods are considered as always being defined, and thus access modifiers guarding such methods are not redundant.

      Example:

      class Foo
        public # this is redundant (default access is public)
      
        def method
        end
      
        private # this is not redundant (a method is defined)
        def method2
        end
      
        private # this is redundant (no following methods are defined)
      end

      Example:

      class Foo
        # The following is not redundant (conditionally defined methods are
        # considered as always defining a method)
        private
      
        if condition?
          def method
          end
        end
      
        protected # this is not redundant (method is defined)
      
        define_method(:method2) do
        end
      
        protected # this is redundant (repeated from previous modifier)
      
        [1,2,3].each do |i|
          define_method("foo#{i}") do
          end
        end
      
        # The following is redundant (methods defined on the class'
        # singleton class are not affected by the public modifier)
        public
      
        def self.method3
        end
      end

      Example:

      # Lint/UselessAccessModifier:
      #   ContextCreatingMethods:
      #     - concerning
      require 'active_support/concern'
      class Foo
        concerning :Bar do
          def some_public_method
          end
      
          private
      
          def some_private_method
          end
        end
      
        # this is not redundant because `concerning` created its own context
        private
      
        def some_other_private_method
        end
      end

      Example:

      # Lint/UselessAccessModifier:
      #   MethodCreatingMethods:
      #     - delegate
      require 'active_support/core_ext/module/delegation'
      class Foo
        # this is not redundant because `delegate` creates methods
        private
      
        delegate :method_a, to: :method_b
      end

      Missing top-level class documentation comment.
      Open

        class ColorValue
      Severity: Minor
      Found in lib/houston/boot/configuration.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

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

              Houston::Application.paths["config/environments"] << root.join("config/environments")
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

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

              cable_config = Houston.root.join("config/cable.yml")
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

      Extra blank line detected.
      Open

      
      
      
      Severity: Minor
      Found in lib/houston/boot/configuration.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 blank line detected.
      Open

      
      
      
      Severity: Minor
      Found in lib/houston/boot/configuration.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

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

          def as_json(options={})
      Severity: Minor
      Found in lib/houston/boot/configuration.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

      Line is too long. [93/80]
      Open

              Houston::Application.paths["config/environments"] << root.join("config/environments")
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      Use proc instead of Proc.new.
      Open

            @roles["Team Owner"].push(Proc.new do |team|
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      This cops checks for uses of Proc.new where Kernel#proc would be more appropriate.

      Example:

      # bad
      p = Proc.new { |n| puts n }
      
      # good
      p = proc { |n| puts n }

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

      require File.join(root, "lib/core_ext/kernel")
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

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

            glob << ".rb" unless glob.end_with? ".rb"
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

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

          def initialize(message = "Houston has not been configured. Please load config/config.rb before calling Houston.config")
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

      Extra blank line detected.
      Open

      
      
      
      Severity: Minor
      Found in lib/houston/boot/configuration.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 blank line detected.
      Open

      
          def load(glob)
      Severity: Minor
      Found in lib/houston/boot/configuration.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 blank line detected.
      Open

      
          # Validation
      Severity: Minor
      Found in lib/houston/boot/configuration.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 blank line detected.
      Open

      
      
      
      Severity: Minor
      Found in lib/houston/boot/configuration.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

      Line is too long. [90/80]
      Open

              puts "\e[31mUnregistered event: \e[1m#{event_name}\e[0;90m\n#{caller[0]}\e[0m\n\n"
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      Avoid modifier if after another conditional.
      Open

            end if block_given?
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      Checks for if and unless statements used as modifiers of other if or unless statements.

      Example:

      # bad tired? ? 'stop' : 'go faster' if running?

      # bad if tired? "please stop" else "keep going" end if running?

      # good if running? tired? ? 'stop' : 'go faster' end

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

      require File.join(root, "lib/houston/adapters")
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

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

              Houston::Application.paths["config/database"] = root.join("config/database.yml")
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

      Line is too long. [152/80]
      Open

                  Rails.logger.warn "\e[33m[boot] \e[93m#{cable_config}\e[33m does not exist: you will not be able to use Houston.observer on the client\e[0m"
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      Use %r around regular expression.
      Open

          message = message.gsub /<b>(.*)<\/b>/, "\e[1m\\1\e[0;34m"
      Severity: Minor
      Found in lib/houston/boot/configuration.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\//

      Extra blank line detected.
      Open

      
          # Global configuration
      Severity: Minor
      Found in lib/houston/boot/configuration.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 blank line detected.
      Open

      
      
      
      Severity: Minor
      Found in lib/houston/boot/configuration.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

      Shadowing outer local variable - mod.
      Open

            mod ||= ::Houston::Module.new(module_name).tap { |mod| @modules << mod }
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      This cop looks for use of the same name as outer local variables for block arguments or block local variables. This is a mimic of the warning "shadowing outer local variable - foo" from ruby -cw.

      Example:

      # bad
      
      def some_method
        foo = 1
      
        2.times do |foo| # shadowing outer `foo`
          do_something(foo)
        end
      end

      Example:

      # good
      
      def some_method
        foo = 1
      
        2.times do |bar|
          do_something(bar)
        end
      end

      Line is too long. [107/80]
      Open

            Rails.application.config.action_mailer.smtp_settings = HashDsl.hash_from_block(block) if block_given?
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      Missing top-level class documentation comment.
      Open

        class Module
      Severity: Minor
      Found in lib/houston/boot/configuration.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

      When using method_missing, define respond_to_missing? and fall back on super.
      Open

          def method_missing(name, *args, &block)
            puts "\e[31mMissing Configuration option: \e[1m#{name}\e[0;90m\n#{caller[0]}\e[0m\n\n"
            nil
          end
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      This cop checks for the presence of method_missing without also defining respond_to_missing? and falling back on super.

      Example:

      #bad
      def method_missing(name, *args)
        # ...
      end
      
      #good
      def respond_to_missing?(name, include_private)
        # ...
      end
      
      def method_missing(name, *args)
        # ...
        super
      end

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

      root = File.expand_path(File.join(File.dirname(__FILE__), "../../.."))
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

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

            @roles["Team Owner"].push(Proc.new do |team|
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

      Extra blank line detected.
      Open

      
      
      
      Severity: Minor
      Found in lib/houston/boot/configuration.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 blank line detected.
      Open

      
      
      
      Severity: Minor
      Found in lib/houston/boot/configuration.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

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

          def method_missing(name, *args, &block)
      Severity: Minor
      Found in lib/houston/boot/configuration.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

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

            require "mail"
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

      Prefer single-quoted strings inside interpolations.
      Open

            "rgb(#{@hex.scan(/../).map { |s| s.to_i(16) }.join(", ")})"
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      This cop checks that quotes inside the string interpolation match the configured preference.

      Example: EnforcedStyle: single_quotes (default)

      # bad
      result = "Tests #{success ? "PASS" : "FAIL"}"
      
      # good
      result = "Tests #{success ? 'PASS' : 'FAIL'}"

      Example: EnforcedStyle: double_quotes

      # bad
      result = "Tests #{success ? 'PASS' : 'FAIL'}"
      
      # good
      result = "Tests #{success ? "PASS" : "FAIL"}"

      Indent access modifiers like module_function.
      Open

      module_function
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      Modifiers should be indented as deep as method definitions, or as deep as the class/module keyword, depending on configuration.

      Example: EnforcedStyle: indent (default)

      # bad
      class Plumbus
      private
        def smooth; end
      end
      
      # good
      class Plumbus
        private
        def smooth; end
      end

      Example: EnforcedStyle: outdent

      # bad
      class Plumbus
        private
        def smooth; end
      end
      
      # good
      class Plumbus
      private
        def smooth; end
      end

      Extra blank line detected.
      Open

      
      
      
      Severity: Minor
      Found in lib/houston/boot/configuration.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 blank line detected.
      Open

      
      
      
      Severity: Minor
      Found in lib/houston/boot/configuration.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 blank line detected.
      Open

      
        class Module
      Severity: Minor
      Found in lib/houston/boot/configuration.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 blank line detected.
      Open

      
      
      
      Severity: Minor
      Found in lib/houston/boot/configuration.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 blank line detected.
      Open

      
      
      
      Severity: Minor
      Found in lib/houston/boot/configuration.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

      Surrounding space missing in default value assignment.
      Open

          private def assert_action!(name, required_params=[], &block)
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      Checks that the equals signs in parameter default assignments have or don't have surrounding space depending on configuration.

      Example:

      # bad
      def some_method(arg1=:default, arg2=nil, arg3=[])
        # do something...
      end
      
      # good
      def some_method(arg1 = :default, arg2 = nil, arg3 = [])
        # do something...
      end

      Missing top-level module documentation comment.
      Open

      module Houston
      Severity: Minor
      Found in lib/houston/boot/configuration.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

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

      require File.join(root, "lib/houston/boot/triggers")
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

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

              Houston::Application.paths["tmp"] = root.join("tmp")
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

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

            __file__ = caller[0].split(":")[0]
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

      Use == if you meant to do a comparison or wrap the expression in parentheses to indicate you meant to assign in a condition.
      Open

            elsif action = actions[name]
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      This cop checks for assignments in the conditions of if/while/until.

      Example:

      # bad
      
      if some_var = true
        do_something
      end

      Example:

      # good
      
      if some_var == true
        do_something
      end

      Method Houston::Configuration#timer is defined at both lib/houston/boot/configuration.rb:23 and lib/houston/boot/configuration.rb:52.
      Open

          def timer
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      This cop checks for duplicated instance (or singleton) method definitions.

      Example:

      # bad
      
      def duplicated
        1
      end
      
      def duplicated
        2
      end

      Example:

      # bad
      
      def duplicated
        1
      end
      
      alias duplicated other_duplicated

      Example:

      # good
      
      def duplicated
        1
      end
      
      def other_duplicated
        2
      end

      Line is too long. [88/80]
      Open

              Houston::Application.paths["config/database"] = root.join("config/database.yml")
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      Line is too long. [91/80]
      Open

                Houston::Application.config.action_cable.allowed_request_origins = %w{http https}
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

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

            if mod.accepts_configuration?
      Severity: Minor
      Found in lib/houston/boot/configuration.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

      require File.join(root, "lib/hash_dsl")
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

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

      require File.join(root, "lib/houston/boot/observer")
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

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

            @title ||= "Houston"
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

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

            new_hash = Hash.new(ColorValue.new("default", "505050"))
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

      Extra blank line detected.
      Open

      
        class Configuration
      Severity: Minor
      Found in lib/houston/boot/configuration.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 blank line detected.
      Open

      
      
      
      Severity: Minor
      Found in lib/houston/boot/configuration.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 blank line detected.
      Open

      
      
      
      Severity: Minor
      Found in lib/houston/boot/configuration.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

      Method Houston::Configuration#observer is defined at both lib/houston/boot/configuration.rb:23 and lib/houston/boot/configuration.rb:42.
      Open

          def observer
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      This cop checks for duplicated instance (or singleton) method definitions.

      Example:

      # bad
      
      def duplicated
        1
      end
      
      def duplicated
        2
      end

      Example:

      # bad
      
      def duplicated
        1
      end
      
      alias duplicated other_duplicated

      Example:

      # good
      
      def duplicated
        1
      end
      
      def other_duplicated
        2
      end

      Line is too long. [112/80]
      Open

                  ActionCable.server.config.cable = Rails.application.config_for(cable_config).with_indifferent_access
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      Line is too long. [100/80]
      Open

              (Rails.application.config.action_mailer.default_options ||= {}).merge!(from: @mailer_sender)
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      Line is too long. [116/80]
      Open

            raise NotImplementedError, "I haven't been programmed to extract trigger and action_name from #{args.inspect}"
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      Missing top-level class documentation comment.
      Open

        class NotConfigured < RuntimeError
      Severity: Minor
      Found in lib/houston/boot/configuration.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

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

      require File.join(root, "lib/houston/boot/provider")
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

      Surrounding space missing in default value assignment.
      Open

          def action(name, required_params=[], &block)
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      Checks that the equals signs in parameter default assignments have or don't have surrounding space depending on configuration.

      Example:

      # bad
      def some_method(arg1=:default, arg2=nil, arg3=[])
        # do something...
      end
      
      # good
      def some_method(arg1 = :default, arg2 = nil, arg3 = [])
        # do something...
      end

      Line is too long. [100/80]
      Open

            raise ArgumentError, "Provider must define a client_secret" if settings[:client_secret].blank?
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      Line is too long. [92/80]
      Open

            puts "\e[31mMissing Configuration option: \e[1m#{name}\e[0;90m\n#{caller[0]}\e[0m\n\n"
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      Missing top-level class documentation comment.
      Open

        class Configuration
      Severity: Minor
      Found in lib/houston/boot/configuration.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

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

              Houston::Application.paths["config/database"] = root.join("config/database.yml")
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

      Extra blank line detected.
      Open

      
          def project_colors(*args)
      Severity: Minor
      Found in lib/houston/boot/configuration.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 blank line detected.
      Open

      
      
      
      Severity: Minor
      Found in lib/houston/boot/configuration.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 blank line detected.
      Open

      
          # Actions and Triggers
      Severity: Minor
      Found in lib/houston/boot/configuration.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 blank line detected.
      Open

      
      
      
      Severity: Minor
      Found in lib/houston/boot/configuration.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 blank line detected.
      Open

      
      
      
      Severity: Minor
      Found in lib/houston/boot/configuration.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 blank line detected.
      Open

      
        class NotConfigured < RuntimeError
      Severity: Minor
      Found in lib/houston/boot/configuration.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

      Line is too long. [82/80]
      Open

          puts "\e[34mDEPRECATION: #{message}\e[0;90m\n#{caller[stack_offset]}\e[0m\n\n"
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

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

      require File.join(root, "lib/houston/boot/actions")
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

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

              Houston::Application.paths["public"] = root.join("public")
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

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

              Houston::Application.paths["public"] = root.join("public")
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

      Extra blank line detected.
      Open

      
      
      
      Severity: Minor
      Found in lib/houston/boot/configuration.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 blank line detected.
      Open

      
      
      
      Severity: Minor
      Found in lib/houston/boot/configuration.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 blank line detected.
      Open

      
      
      
      Severity: Minor
      Found in lib/houston/boot/configuration.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 blank line detected.
      Open

      
      module_function
      Severity: Minor
      Found in lib/houston/boot/configuration.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

      Line is too long. [110/80]
      Open

                ActionCable.server.config.cable = Rails.application.config_for(cable_config).with_indifferent_access
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      %w-literals should be delimited by [ and ].
      Open

                Houston::Application.config.action_cable.allowed_request_origins = %w{http https}
      Severity: Minor
      Found in lib/houston/boot/configuration.rb 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 empty lines between method definitions.
      Open

          def project_colors(*args)
      Severity: Minor
      Found in lib/houston/boot/configuration.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

      Keep a blank line before and after module_function.
      Open

      module_function
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      Access modifiers should be surrounded by blank lines.

      Example:

      # bad
      class Foo
        def bar; end
        private
        def baz; end
      end
      
      # good
      class Foo
        def bar; end
      
        private
      
        def baz; end
      end

      Extra empty line detected at class body end.
      Open

      
        end
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      This cops checks if empty lines around the bodies of classes match the configuration.

      Example: EnforcedStyle: empty_lines

      # good
      
      class Foo
      
        def bar
          # ...
        end
      
      end

      Example: EnforcedStyle: emptylinesexcept_namespace

      # good
      
      class Foo
        class Bar
      
          # ...
      
        end
      end

      Example: EnforcedStyle: emptylinesspecial

      # good
      class Foo
      
        def bar; end
      
      end

      Example: EnforcedStyle: noemptylines (default)

      # good
      
      class Foo
        def bar
          # ...
        end
      end

      Extra blank line detected.
      Open

      
      
      
      Severity: Minor
      Found in lib/houston/boot/configuration.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 blank line detected.
      Open

      
      
      
      Severity: Minor
      Found in lib/houston/boot/configuration.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 blank line detected.
      Open

      
      
      
      Severity: Minor
      Found in lib/houston/boot/configuration.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 blank line detected.
      Open

      
        class ColorValue
      Severity: Minor
      Found in lib/houston/boot/configuration.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

      Ambiguous regexp literal. Parenthesize the method arguments if it's surely a regexp literal, or add a whitespace to the right of the / if it should be a division.
      Open

          message = message.gsub /<b>(.*)<\/b>/, "\e[1m\\1\e[0;34m"
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

      This cop checks for ambiguous regexp literals in the first argument of a method invocation without parentheses.

      Example:

      # bad
      
      # This is interpreted as a method invocation with a regexp literal,
      # but it could possibly be `/` method invocations.
      # (i.e. `do_something./(pattern)./(i)`)
      do_something /pattern/i

      Example:

      # good
      
      # With parentheses, there's no ambiguity.
      do_something(/pattern/i)

      Line is too long. [123/80]
      Open

          def initialize(message = "Houston has not been configured. Please load config/config.rb before calling Houston.config")
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

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

      require File.join(root, "lib/houston/boot/timer")
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

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

              ActiveRecord::Tasks::DatabaseTasks.db_dir = root.join("db")
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

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

              Houston::Application.paths["tmp"] = root.join("tmp")
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

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

                  Houston::Application.paths["config/cable"] = cable_config
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

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

            raise ArgumentError, "Provider must define a client_secret" if settings[:client_secret].blank?
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

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

            glob << ".rb" unless glob.end_with? ".rb"
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

      Line is too long. [134/80]
      Open

            @project_colors = args.first.each_with_object(new_hash) { |(key, hex), hash| hash[key] = ColorValue.new(key, hex) } if args.any?
      Severity: Minor
      Found in lib/houston/boot/configuration.rb by rubocop

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

              Houston::Application.paths["config/environments"] << root.join("config/environments")
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

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

            new_hash = Hash.new(ColorValue.new("default", "505050"))
      Severity: Minor
      Found in lib/houston/boot/configuration.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"

      There are no issues that match your filters.

      Category
      Status