georgebellos/real_estate

View on GitHub
app/helpers/properties_helper.rb

Summary

Maintainability
A
0 mins
Test Coverage

PropertiesHelper#summary calls 'controller.action_name' 2 times
Open

    if controller.action_name == "buy" || controller.action_name == "rent"
Severity: Minor
Found in app/helpers/properties_helper.rb by reek

Duplication occurs when two fragments of code look nearly identical, or when two fragments of code have nearly identical effects at some conceptual level.

Reek implements a check for Duplicate Method Call.

Example

Here's a very much simplified and contrived example. The following method will report a warning:

def double_thing()
  @other.thing + @other.thing
end

One quick approach to silence Reek would be to refactor the code thus:

def double_thing()
  thing = @other.thing
  thing + thing
end

A slightly different approach would be to replace all calls of double_thing by calls to @other.double_thing:

class Other
  def double_thing()
    thing + thing
  end
end

The approach you take will depend on balancing other factors in your code.

PropertiesHelper has no descriptive comment
Open

module PropertiesHelper
Severity: Minor
Found in app/helpers/properties_helper.rb by reek

Classes and modules are the units of reuse and release. It is therefore considered good practice to annotate every class and module with a brief comment outlining its responsibilities.

Example

Given

class Dummy
  # Do things...
end

Reek would emit the following warning:

test.rb -- 1 warning:
  [1]:Dummy has no descriptive comment (IrresponsibleModule)

Fixing this is simple - just an explaining comment:

# The Dummy class is responsible for ...
class Dummy
  # Do things...
end

PropertiesHelper#property_search_results calls 'properties.total_count' 2 times
Open

    if properties.total_count > 0
      content_tag(:div, "Found #{ properties.total_count } property listings with this search criteria'",
Severity: Minor
Found in app/helpers/properties_helper.rb by reek

Duplication occurs when two fragments of code look nearly identical, or when two fragments of code have nearly identical effects at some conceptual level.

Reek implements a check for Duplicate Method Call.

Example

Here's a very much simplified and contrived example. The following method will report a warning:

def double_thing()
  @other.thing + @other.thing
end

One quick approach to silence Reek would be to refactor the code thus:

def double_thing()
  thing = @other.thing
  thing + thing
end

A slightly different approach would be to replace all calls of double_thing by calls to @other.double_thing:

class Other
  def double_thing()
    thing + thing
  end
end

The approach you take will depend on balancing other factors in your code.

PropertiesHelper#thumbnail doesn't depend on instance state (maybe move it to another class?)
Open

  def thumbnail(property, size)
Severity: Minor
Found in app/helpers/properties_helper.rb by reek

A Utility Function is any instance method that has no dependency on the state of the instance.

Space inside string interpolation detected.
Open

      content_tag(:div, "Found #{ properties.total_count } property listings with this search criteria'",
Severity: Minor
Found in app/helpers/properties_helper.rb by rubocop

This cop checks for whitespace within string interpolations.

Example: EnforcedStyle: no_space (default)

# bad
   var = "This is the #{ space } example"

# good
   var = "This is the #{no_space} example"

Example: EnforcedStyle: space

# bad
   var = "This is the #{no_space} example"

# good
   var = "This is the #{ space } example"

Line is too long. [84/80]
Open

      content_tag(:div, "No property listings were found with this search criteria",
Severity: Minor
Found in app/helpers/properties_helper.rb by rubocop

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

      content_tag(:div, "No property listings were found with this search criteria",
Severity: Minor
Found in app/helpers/properties_helper.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"

Missing top-level module documentation comment.
Open

module PropertiesHelper
Severity: Minor
Found in app/helpers/properties_helper.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

Line is too long. [105/80]
Open

      content_tag(:div, "Found #{ properties.total_count } property listings with this search criteria'",
Severity: Minor
Found in app/helpers/properties_helper.rb by rubocop

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

    if controller.action_name == "buy" || controller.action_name == "rent"
Severity: Minor
Found in app/helpers/properties_helper.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

    if controller.action_name == "buy" || controller.action_name == "rent"
Severity: Minor
Found in app/helpers/properties_helper.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