brundage/thermostat

View on GitHub

Showing 509 of 509 total issues

Extra blank line detected.
Open


    def locate_config_file(key)
Severity: Minor
Found in lib/thermostat/config_loader.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. [83/80]
Open

      File.expand_path( File.join( File.dirname(__FILE__), '..', '..', 'config' ) )
Severity: Minor
Found in lib/thermostat/config_loader.rb by rubocop

Convert if nested inside else to elsif.
Open

        @handle = File.open @filename if @filename
Severity: Minor
Found in lib/thermostat/config_loader.rb by rubocop

If the else branch of a conditional consists solely of an if node, it can be combined with the else to become an elsif. This helps to keep the nesting level from getting too deep.

Example:

# bad
if condition_a
  action_a
else
  if condition_b
    action_b
  else
    action_c
  end
end

# good
if condition_a
  action_a
elsif condition_b
  action_b
else
  action_c
end

Add an empty line after magic comments.
Open

lib = File.expand_path('../lib', __FILE__)
Severity: Minor
Found in thermostat.gemspec by rubocop

Checks for a newline after the final magic comment.

Example:

# good
# frozen_string_literal: true

# Some documentation for Person
class Person
  # Some code
end

# bad
# frozen_string_literal: true
# Some documentation for Person
class Person
  # Some code
end

Unnecessary utf-8 encoding comment.
Open

# coding: utf-8
Severity: Minor
Found in thermostat.gemspec by rubocop

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

  spec.add_development_dependency "bundler", "~> 1.13"
Severity: Minor
Found in thermostat.gemspec 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 %q only for strings that contain both single quotes and double quotes.
Open

  spec.description = %q{For controlling a thermostat}
Severity: Minor
Found in thermostat.gemspec by rubocop

Extra empty line detected at class body end.
Open


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

Use empty lines between method definitions.
Open

    def self.default_min_set_point;     MIN_SET_POINT;     end
Severity: Minor
Found in lib/thermostat/config.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

Extra blank line detected.
Open


    def format
Severity: Minor
Found in lib/thermostat/logger/formatter.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

Prefer $PROCESS_ID or $PID from the stdlib 'English' module (don't forget to require it) over $$.
Open

      format % [ time.utc.iso8601, progname, $$, subsystem, severity, msg2str(msg) ]
Severity: Minor
Found in lib/thermostat/logger/formatter.rb by rubocop

Extra empty line detected at class body end.
Open


  end

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

Avoid single-line method definitions.
Open

    def hi_c8;   8.5282 * 10 ** -4;   end

This cop checks for single-line method definitions that contain a body. It will accept single-line methods with no body.

Example:

# bad
def some_method; body end
def link_to(url); {:name => url}; end
def @table.columns; super; end

# good
def no_op; end
def self.resource_class=(klass); end
def @table.columns; end

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

    if( e.message =~ /this gem can only be run on a Raspberry Pi/ )

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

Space inside parentheses detected.
Open

      File.expand_path( File.join( File.dirname(__FILE__), '..', '..', 'config' ) )
Severity: Minor
Found in lib/thermostat/config_loader.rb by rubocop

Checks for spaces inside ordinary round parentheses.

Example:

# bad
f( 3)
g = (a + 3 )

# good
f(3)
g = (a + 3)

Space inside parentheses detected.
Open

      File.expand_path( File.join( File.dirname(__FILE__), '..', '..', 'config' ) )
Severity: Minor
Found in lib/thermostat/config_loader.rb by rubocop

Checks for spaces inside ordinary round parentheses.

Example:

# bad
f( 3)
g = (a + 3 )

# good
f(3)
g = (a + 3)

Line is too long. [85/80]
Open

      logger.thermostat(:info) { "Initialized simple thermostat named #{self.name}" }
Severity: Minor
Found in lib/thermostat/simple.rb by rubocop

Line is too long. [81/80]
Open

        # Can't use #is_a? here becuase RubyUnits::Unit are (confusingly) Numeric

Extra empty line detected at block body end.
Open


end
Severity: Minor
Found in thermostat.gemspec by rubocop

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

Example: EnforcedStyle: empty_lines

# good

foo do |bar|

  # ...

end

Example: EnforcedStyle: noemptylines (default)

# good

foo do |bar|
  # ...
end

include is used at the top level. Use inside class or module.
Open

include Thermostat::HeatIndexCalculator
Severity: Minor
Found in bin/thermostat by rubocop

This cop checks that include, extend and prepend exists at the top level. Using these at the top level affects the behavior of Object. There will not be using include, extend and prepend at the top level. Let's use it inside class or module.

Example:

# bad
include M

class C
end

# bad
extend M

class C
end

# bad
prepend M

class C
end

# good
class C
  include M
end

# good
class C
  extend M
end

# good
class C
  prepend M
end
Severity
Category
Status
Source
Language