Showing 135 of 135 total issues
File version_5_1.rb
has 1766 lines of code (exceeds 250 allowed). Consider refactoring. Open
require 'ruby-progressbar'
require 'set'
require 'netaddr'
require 'uri'
- Create a ticketCreate a ticket
Method compose_vapp_from_vm
has a Cognitive Complexity of 167 (exceeds 5 allowed). Consider refactoring. Open
def compose_vapp_from_vm(vdc, vapp_name, vapp_description, vm_list = {}, network_config = [], _cfg)
builder = Nokogiri::XML::Builder.new do |xml|
xml.ComposeVAppParams('xmlns' => 'http://www.vmware.com/vcloud/v1.5',
'xmlns:ovf' => 'http://schemas.dmtf.org/ovf/envelope/1',
'deploy' => 'false',
- Read upRead up
- Create a ticketCreate a ticket
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 set_vm_hardware
has a Cognitive Complexity of 101 (exceeds 5 allowed). Consider refactoring. Open
def set_vm_hardware(vm_id, cfg)
params = {
'method' => :get,
'command' => "/vApp/vm-#{vm_id}/virtualHardwareSection"
}
- Read upRead up
- Create a ticketCreate a ticket
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 recompose_vapp_from_vm
has a Cognitive Complexity of 100 (exceeds 5 allowed). Consider refactoring. Open
def recompose_vapp_from_vm(vapp_id, vm_list = {}, network_config = [], _cfg)
original_vapp = get_vapp(vapp_id)
builder = Nokogiri::XML::Builder.new do |xml|
xml.RecomposeVAppParams(
- Read upRead up
- Create a ticketCreate a ticket
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 call
has a Cognitive Complexity of 90 (exceeds 5 allowed). Consider refactoring. Open
def call(env)
# FIXME: we need to find a way to clean things up when a SIGINT get
# called... see env[:interrupted] in the vagrant code
cfg = env[:machine].provider_config
- Read upRead up
- Create a ticketCreate a ticket
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 call
has 243 lines of code (exceeds 25 allowed). Consider refactoring. Open
def call(env)
# FIXME: we need to find a way to clean things up when a SIGINT get
# called... see env[:interrupted] in the vagrant code
cfg = env[:machine].provider_config
- Create a ticketCreate a ticket
Class Version_5_1
has 58 methods (exceeds 20 allowed). Consider refactoring. Open
class Version_5_1 < Base
attr_reader :auth_key, :id
##
# Init the driver with the Vagrantfile information
- Create a ticketCreate a ticket
Method validate
has a Cognitive Complexity of 50 (exceeds 5 allowed). Consider refactoring. Open
def validate(machine)
errors = _detected_errors
# TODO: add blank?
errors << I18n.t('vagrant_vcloud.config.hostname') if hostname.nil?
- Read upRead up
- Create a ticketCreate a ticket
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
Identical blocks of code found in 2 locations. Consider refactoring. Open
vm_list.each do |vm_name, vm_id|
xml.SourcedItem {
xml.Source('href' => "#{@api_url}/vAppTemplate/vm-#{vm_id}", 'name' => vm_name)
xml.InstantiationParams {
if _cfg.enable_guest_customization.nil? || _cfg.enable_guest_customization
- Read upRead up
- Create a ticketCreate a ticket
Duplicated Code
Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:
Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.
When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).
Tuning
This issue has a mass of 233.
We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.
The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.
If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.
See codeclimate-duplication
's documentation for more information about tuning the mass threshold in your .codeclimate.yml
.
Refactorings
- Extract Method
- Extract Class
- Form Template Method
- Introduce Null Object
- Pull Up Method
- Pull Up Field
- Substitute Algorithm
Further Reading
- Don't Repeat Yourself on the C2 Wiki
- Duplicated Code on SourceMaking
- Refactoring: Improving the Design of Existing Code by Martin Fowler. Duplicated Code, p76
Identical blocks of code found in 2 locations. Consider refactoring. Open
vm_list.each do |vm_name, vm_id|
xml.SourcedItem {
xml.Source('href' => "#{@api_url}/vAppTemplate/vm-#{vm_id}", 'name' => vm_name)
xml.InstantiationParams {
if _cfg.enable_guest_customization.nil? || _cfg.enable_guest_customization
- Read upRead up
- Create a ticketCreate a ticket
Duplicated Code
Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:
Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.
When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).
Tuning
This issue has a mass of 233.
We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.
The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.
If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.
See codeclimate-duplication
's documentation for more information about tuning the mass threshold in your .codeclimate.yml
.
Refactorings
- Extract Method
- Extract Class
- Form Template Method
- Introduce Null Object
- Pull Up Method
- Pull Up Field
- Substitute Algorithm
Further Reading
- Don't Repeat Yourself on the C2 Wiki
- Duplicated Code on SourceMaking
- Refactoring: Improving the Design of Existing Code by Martin Fowler. Duplicated Code, p76
Method compile_forwarded_ports
has a Cognitive Complexity of 44 (exceeds 5 allowed). Consider refactoring. Open
def compile_forwarded_ports(machine)
mappings = {}
machine.config.vm.networks.each do |type, options|
if type == :forwarded_port
- Read upRead up
- Create a ticketCreate a ticket
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 set_vm_hardware
has 161 lines of code (exceeds 25 allowed). Consider refactoring. Open
def set_vm_hardware(vm_id, cfg)
params = {
'method' => :get,
'command' => "/vApp/vm-#{vm_id}/virtualHardwareSection"
}
- Create a ticketCreate a ticket
Method read_ssh_info
has a Cognitive Complexity of 42 (exceeds 5 allowed). Consider refactoring. Open
def read_ssh_info(env)
return nil if env[:machine].id.nil?
cfg = env[:machine].provider_config
cnx = cfg.vcloud_cnx.driver
- Read upRead up
- Create a ticketCreate a ticket
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 upload_ovf
has 132 lines of code (exceeds 25 allowed). Consider refactoring. Open
def upload_ovf(vdc_id, vapp_name, vapp_description, ovf_file, catalog_id, upload_options = {})
# if send_manifest is not set, setting it true
if upload_options[:send_manifest].nil? ||
upload_options[:send_manifest]
upload_manifest = 'true'
- Create a ticketCreate a ticket
Method compose_vapp_from_vm
has 131 lines of code (exceeds 25 allowed). Consider refactoring. Open
def compose_vapp_from_vm(vdc, vapp_name, vapp_description, vm_list = {}, network_config = [], _cfg)
builder = Nokogiri::XML::Builder.new do |xml|
xml.ComposeVAppParams('xmlns' => 'http://www.vmware.com/vcloud/v1.5',
'xmlns:ovf' => 'http://schemas.dmtf.org/ovf/envelope/1',
'deploy' => 'false',
- Create a ticketCreate a ticket
Class Base
has 38 methods (exceeds 20 allowed). Consider refactoring. Open
class Base
include Vagrant::Util::Retryable
def initialize
@logger = Log4r::Logger.new('vagrant::provider::vcloud::base')
- Create a ticketCreate a ticket
Method add_edge_gateway_rules
has 108 lines of code (exceeds 25 allowed). Consider refactoring. Open
def add_edge_gateway_rules(edge_gateway_name, vdc_id, edge_gateway_ip, vapp_id, ports)
edge_vapp_ip = get_vapp_edge_public_ip(vapp_id)
edge_network_id = find_edge_gateway_network(
edge_gateway_name,
vdc_id,
- Create a ticketCreate a ticket
Method call
has a Cognitive Complexity of 29 (exceeds 5 allowed). Consider refactoring. Open
def call(env)
@env = env
cfg = env[:machine].provider_config
cnx = cfg.vcloud_cnx.driver
- Read upRead up
- Create a ticketCreate a ticket
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 command_vcloud_network
has 98 lines of code (exceeds 25 allowed). Consider refactoring. Open
def command_vcloud_network(cfg, vapp_id, ssh_host)
# FIXME: this needs to be fixed to accomodate the bridged scenario
# potentially showing only the assigned IPs in the VMs
puts 'Fetching vCloud Director network settings ...'
- Create a ticketCreate a ticket
Method command_vcloud_network
has a Cognitive Complexity of 27 (exceeds 5 allowed). Consider refactoring. Open
def command_vcloud_network(cfg, vapp_id, ssh_host)
# FIXME: this needs to be fixed to accomodate the bridged scenario
# potentially showing only the assigned IPs in the VMs
puts 'Fetching vCloud Director network settings ...'
- Read upRead up
- Create a ticketCreate a ticket
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"