ece517-p3/expertiza

View on GitHub
app/models/system_settings.rb

Summary

Maintainability
A
25 mins
Test Coverage

Mass assignment is not restricted using attr_accessible
Open

class SystemSettings < ActiveRecord::Base
Severity: Critical
Found in app/models/system_settings.rb by brakeman

This warning comes up if a model does not limit what attributes can be set through mass assignment.

In particular, this check looks for attr_accessible inside model definitions. If it is not found, this warning will be issued.

Brakeman also warns on use of attr_protected - especially since it was found to be vulnerable to bypass. Warnings for mass assignment on models using attr_protected will be reported, but at a lower confidence level.

Note that disabling mass assignment globally will suppress these warnings.

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

  def system_pages(pageid)
    pages = []

    pages << "Site default page" if self.site_default_page_id == pageid
    pages << "Not found page" if self.not_found_page_id == pageid
Severity: Minor
Found in app/models/system_settings.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

Method SystemSettings#site_default_page is defined at both app/models/system_settings.rb:5 and app/models/system_settings.rb:22.
Open

  def site_default_page
Severity: Minor
Found in app/models/system_settings.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

Method SystemSettings#public_role is defined at both app/models/system_settings.rb:4 and app/models/system_settings.rb:8.
Open

  def public_role
Severity: Minor
Found in app/models/system_settings.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

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

    if !pages.empty?
Severity: Minor
Found in app/models/system_settings.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

Method SystemSettings#permission_denied_page is defined at both app/models/system_settings.rb:5 and app/models/system_settings.rb:30.
Open

  def permission_denied_page
Severity: Minor
Found in app/models/system_settings.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

Method SystemSettings#default_markup_style is defined at both app/models/system_settings.rb:4 and app/models/system_settings.rb:12.
Open

  def default_markup_style
Severity: Minor
Found in app/models/system_settings.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

Method SystemSettings#session_expired_page is defined at both app/models/system_settings.rb:5 and app/models/system_settings.rb:34.
Open

  def session_expired_page
Severity: Minor
Found in app/models/system_settings.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

Method SystemSettings#not_found_page is defined at both app/models/system_settings.rb:5 and app/models/system_settings.rb:26.
Open

  def not_found_page
Severity: Minor
Found in app/models/system_settings.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

There are no issues that match your filters.

Category
Status