ManageIQ/manageiq

View on GitHub
app/models/vm_or_template.rb

Summary

Maintainability
B
4 hrs
Test Coverage
C
76%

Showing 15 of 15 total issues

Cyclomatic complexity for miq_server_proxies is too high. [22/11]
Open

def miq_server_proxies
case vendor
when 'vmware'
# VM cannot be scanned by server if they are on a repository
return [] if storage_id.blank? || repository_vm?
Severity: Minor
Found in app/models/vm_or_template.rb by rubocop

Cyclomatic complexity for post_refresh_ems_folder_updates is too high. [14/11]
Open

def self.post_refresh_ems_folder_updates(ems, update_start_time, added_vms)
# Collect the updated folder relationships to determine which vms need updated path information
ems_folders = ems.ems_folders
MiqPreloader.preload(ems_folders, :all_relationships)
 
 
Severity: Minor
Found in app/models/vm_or_template.rb by rubocop

Method miq_server_proxies has a Cognitive Complexity of 18 (exceeds 11 allowed). Consider refactoring.
Open

def miq_server_proxies
case vendor
when 'vmware'
# VM cannot be scanned by server if they are on a repository
return [] if storage_id.blank? || repository_vm?
Severity: Minor
Found in app/models/vm_or_template.rb - About 1 hr to fix

Method repository_parse_path has a Cognitive Complexity of 13 (exceeds 11 allowed). Consider refactoring.
Open

def self.repository_parse_path(path)
path.tr!("\\", "/")
# it's empty string for local type
storage_name = ""
# NAS
Severity: Minor
Found in app/models/vm_or_template.rb - About 35 mins to fix

Method template= has a Cognitive Complexity of 13 (exceeds 11 allowed). Consider refactoring.
Open

def template=(val)
return val unless val ^ template # Only continue if toggling setting
 
write_attribute(:template, val)
 
 
Severity: Minor
Found in app/models/vm_or_template.rb - About 35 mins to fix

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

def self.event_by_property(property, value, event_type, event_message, event_time = nil, _options = {})
Severity: Minor
Found in app/models/vm_or_template.rb by rubocop

Use any?(folder) instead of block.
Open

parent_blue_folders.any? { |f| f == folder }
Severity: Minor
Found in app/models/vm_or_template.rb by rubocop

Use filter_map instead.
Open

!hardware.nil? ? hardware.nics.collect(&:lan).compact : []
Severity: Minor
Found in app/models/vm_or_template.rb by rubocop

Similar blocks of code found in 2 locations. Consider refactoring.
Open

def disconnect_ems(e = nil)
if e.nil? || ext_management_system == e
log_text = " from EMS [#{ext_management_system.name}] id [#{ext_management_system.id}]" unless ext_management_system.nil?
_log.info("Disconnecting Vm [#{name}] id [#{id}]#{log_text}")
 
 
Severity: Minor
Found in app/models/vm_or_template.rb and 1 other location - About 55 mins to fix
app/models/host.rb on lines 509..518

Similar blocks of code found in 2 locations. Consider refactoring.
Open

def connect_ems(e)
unless ext_management_system == e
_log.debug("Connecting Vm [#{name}] id [#{id}] to EMS [#{e.name}] id [#{e.id}]")
self.ext_management_system = e
save
Severity: Minor
Found in app/models/vm_or_template.rb and 1 other location - About 20 mins to fix
app/models/vm_or_template.rb on lines 746..750

Similar blocks of code found in 2 locations. Consider refactoring.
Open

def connect_storage(s)
unless storage == s
_log.debug("Connecting Vm [#{name}] id [#{id}] to Datastore [#{s.name}] id [#{s.id}]")
self.storage = s
save
Severity: Minor
Found in app/models/vm_or_template.rb and 1 other location - About 20 mins to fix
app/models/vm_or_template.rb on lines 702..706

Do not suppress exceptions.
Open

rescue
Severity: Minor
Found in app/models/vm_or_template.rb by rubocop

Useless method definition detected.
Open

def power_state=(new_power_state)
super
end
Severity: Minor
Found in app/models/vm_or_template.rb by rubocop

Do not return a value in template=.
Open

return val unless val ^ template # Only continue if toggling setting
Severity: Minor
Found in app/models/vm_or_template.rb by rubocop

Variable new_state used in void context.
Open

new_state
Severity: Minor
Found in app/models/vm_or_template.rb by rubocop

There are no issues that match your filters.

Category
Status