fog/fog-openstack

View on GitHub

Showing 156 of 616 total issues

Class File has 22 methods (exceeds 20 allowed). Consider refactoring.
Open

      class File < Fog::OpenStack::Model
        identity  :key,             :aliases => 'name'

        attribute :access_control_allow_origin, :aliases => ['Access-Control-Allow-Origin']
        attribute :cache_control,   :aliases => ['Cache-Control']
Severity: Minor
Found in lib/fog/openstack/storage/models/file.rb - About 2 hrs to fix

    Method auth_response_v3 has 56 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

    def auth_response_v3(type, name)
      {
        'token' => {
          'methods'    => ['password'],
          'roles'      => [{
    Severity: Major
    Found in unit/auth_helper.rb - About 2 hrs to fix

      Method build_credentials has a Cognitive Complexity of 16 (exceeds 5 allowed). Consider refactoring.
      Open

                def build_credentials(auth)
                  if auth[:openstack_project_id] || auth[:openstack_project_name]
                    # project scoped
                    @project = Fog::OpenStack::Auth::ProjectScope.new(
                      auth[:openstack_project_id],
      Severity: Minor
      Found in lib/fog/openstack/auth/token/v3.rb - About 2 hrs 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

      File workflow-examples.rb has 252 lines of code (exceeds 250 allowed). Consider refactoring.
      Open

      require 'fog/openstack'
      require 'fog/openstack/workflow/v2'
      
      auth_url = "http://192.0.2.1:5000/v3/auth/tokens"
      username = "admin"
      Severity: Minor
      Found in examples/workflow/workflow-examples.rb - About 2 hrs to fix

        Method list_hypervisors_detail has 50 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

                def list_hypervisors_detail(_options = {})
                  response = Excon::Response.new
                  response.status = 200
                  response.body = {
                    "hypervisors"       => [{
        Severity: Minor
        Found in lib/fog/openstack/compute/requests/list_hypervisors_detail.rb - About 2 hrs to fix

          Method list_resources has 49 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

                  def list_resources(_type = "generic", _options = {})
                    response = Excon::Response.new
                    response.status = 200
                    response.body = [
                        {
          Severity: Minor
          Found in lib/fog/openstack/metric/requests/list_resources.rb - About 1 hr to fix

            Method build_credentials has 49 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

                      def build_credentials(auth)
                        if auth[:openstack_project_id] || auth[:openstack_project_name]
                          # project scoped
                          @project = Fog::OpenStack::Auth::ProjectScope.new(
                            auth[:openstack_project_id],
            Severity: Minor
            Found in lib/fog/openstack/auth/token/v3.rb - About 1 hr to fix

              Method list_bay_models has 49 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

                      def list_bay_models
                        response = Excon::Response.new
                        response.status = 200
                        response.body = {
                          "baymodels" => [
              Severity: Minor
              Found in lib/fog/openstack/container_infra/requests/list_bay_models.rb - About 1 hr to fix

                Method get_file_contents has a Cognitive Complexity of 15 (exceeds 5 allowed). Consider refactoring.
                Open

                        def get_file_contents(from_data, base_url)
                          Fog::Logger.debug("Processing #{from_data} with base_url #{base_url}")
                
                          # Recursively traverse the tree
                          #   if recurse_data is Array or Hash
                Severity: Minor
                Found in lib/fog/openstack/orchestration/util/recursive_hot_file_loader.rb - About 1 hr 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 list_zones_detailed has 47 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                        def list_zones_detailed(_options = {})
                          Excon::Response.new(
                            :body   => {
                              "availabilityZoneInfo" => [
                                {
                Severity: Minor
                Found in lib/fog/openstack/compute/requests/list_zones_detailed.rb - About 1 hr to fix

                  Method list_services has 45 lines of code (exceeds 25 allowed). Consider refactoring.
                  Open

                          def list_services(_parameters = nil)
                            response = Excon::Response.new
                            response.status = 200
                            response.body = {
                              "services" => [{
                  Severity: Minor
                  Found in lib/fog/openstack/compute/requests/list_services.rb - About 1 hr to fix

                    Method get_hypervisor has 44 lines of code (exceeds 25 allowed). Consider refactoring.
                    Open

                            def get_hypervisor(hypervisor_id)
                              response = Excon::Response.new
                              response.status = 200
                              response.body = {
                                "hypervisor" => {
                    Severity: Minor
                    Found in lib/fog/openstack/compute/requests/get_hypervisor.rb - About 1 hr to fix

                      Method update_snapshot has a Cognitive Complexity of 14 (exceeds 5 allowed). Consider refactoring.
                      Open

                              def update_snapshot(snapshot_id, options = {})
                                unless snapshot_id
                                  raise ArgumentError, 'snapshot_id is required'
                                end
                                response = Excon::Response.new
                      Severity: Minor
                      Found in lib/fog/openstack/volume/requests/update_snapshot.rb - About 1 hr 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 update_stack has a Cognitive Complexity of 14 (exceeds 5 allowed). Consider refactoring.
                      Open

                              def update_stack(arg1, arg2 = nil, arg3 = nil)
                                if arg1.kind_of?(Stack)
                                  # Normal use, update_stack(stack, options = {})
                                  stack = arg1
                                  stack_name = stack.stack_name
                      Severity: Minor
                      Found in lib/fog/openstack/orchestration/requests/update_stack.rb - About 1 hr 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 get_metric has 42 lines of code (exceeds 25 allowed). Consider refactoring.
                      Open

                              def get_metric(_metric_id)
                                response = Excon::Response.new
                                response.status = 200
                                response.body = {
                                    "archive_policy" => {
                      Severity: Minor
                      Found in lib/fog/openstack/metric/requests/get_metric.rb - About 1 hr to fix

                        Method list_all_addresses has 41 lines of code (exceeds 25 allowed). Consider refactoring.
                        Open

                                def list_all_addresses(_options = {})
                                  response = Excon::Response.new
                                  response.status = 200
                                  response.headers = {
                                    "X-Compute-Request-Id" => "req-d4a21158-a86c-44a6-983a-e25645907f26",
                        Severity: Minor
                        Found in lib/fog/openstack/compute/requests/list_all_addresses.rb - About 1 hr to fix

                          Method auth_response_v2 has 41 lines of code (exceeds 25 allowed). Consider refactoring.
                          Open

                          def auth_response_v2(type, name)
                            {
                              'access' => {
                                'token'          => {
                                  'issued_at' => '2017-12-05T10:44:31.454741Z',
                          Severity: Minor
                          Found in unit/auth_helper.rb - About 1 hr to fix

                            Method initialize has 41 lines of code (exceeds 25 allowed). Consider refactoring.
                            Open

                                      def initialize(options = {})
                                        @openstack_username = options[:openstack_username] || 'admin'
                                        @openstack_tenant = options[:openstack_tenant] || 'admin'
                                        @openstack_auth_uri = URI.parse(options[:openstack_auth_url])
                                        @openstack_management_url = @openstack_auth_uri.to_s
                            Severity: Minor
                            Found in lib/fog/openstack/identity/v2.rb - About 1 hr to fix

                              Method get_host_details has 40 lines of code (exceeds 25 allowed). Consider refactoring.
                              Open

                                      def get_host_details(_host)
                                        response = Excon::Response.new
                                        response.status = 200
                                        response.body = {"host" => [
                                          {"resource" => {
                              Severity: Minor
                              Found in lib/fog/openstack/compute/requests/get_host_details.rb - About 1 hr to fix

                                Method list_plans has 40 lines of code (exceeds 25 allowed). Consider refactoring.
                                Open

                                        def list_plans(_options = {})
                                          response = Excon::Response.new
                                          response.status = [200, 204][rand(2)]
                                          response.body = [
                                            {
                                Severity: Minor
                                Found in lib/fog/openstack/planning/requests/list_plans.rb - About 1 hr to fix
                                  Severity
                                  Category
                                  Status
                                  Source
                                  Language