3scale/porta

View on GitHub
db/migrate/20111213150651_add_tenant_id_columns.rb

Summary

Maintainability
A
3 hrs
Test Coverage

Method up has 39 lines of code (exceeds 25 allowed). Consider refactoring.
Open

  def self.up
    add_column :accounts, :tenant_id, :integer
    add_column :alerts, :tenant_id, :integer
    add_column :app_exhibits, :tenant_id, :integer
    add_column :assets, :tenant_id, :integer
Severity: Minor
Found in db/migrate/20111213150651_add_tenant_id_columns.rb - About 1 hr to fix

    Method down has 39 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

      def self.down
        remove_column :accounts, :tenant_id
        remove_column :alerts, :tenant_id
        remove_column :app_exhibits, :tenant_id
        remove_column :assets, :tenant_id
    Severity: Minor
    Found in db/migrate/20111213150651_add_tenant_id_columns.rb - About 1 hr to fix

      AddTenantIdColumns#self.up has approx 39 statements
      Open

        def self.up

      A method with Too Many Statements is any method that has a large number of lines.

      Too Many Statements warns about any method that has more than 5 statements. Reek's smell detector for Too Many Statements counts +1 for every simple statement in a method and +1 for every statement within a control structure (if, else, case, when, for, while, until, begin, rescue) but it doesn't count the control structure itself.

      So the following method would score +6 in Reek's statement-counting algorithm:

      def parse(arg, argv, &error)
        if !(val = arg) and (argv.empty? or /\A-/ =~ (val = argv[0]))
          return nil, block, nil                                         # +1
        end
        opt = (val = parse_arg(val, &error))[1]                          # +2
        val = conv_arg(*val)                                             # +3
        if opt and !arg
          argv.shift                                                     # +4
        else
          val[0] = nil                                                   # +5
        end
        val                                                              # +6
      end

      (You might argue that the two assigments within the first @if@ should count as statements, and that perhaps the nested assignment should count as +2.)

      AddTenantIdColumns#self.down has approx 39 statements
      Open

        def self.down

      A method with Too Many Statements is any method that has a large number of lines.

      Too Many Statements warns about any method that has more than 5 statements. Reek's smell detector for Too Many Statements counts +1 for every simple statement in a method and +1 for every statement within a control structure (if, else, case, when, for, while, until, begin, rescue) but it doesn't count the control structure itself.

      So the following method would score +6 in Reek's statement-counting algorithm:

      def parse(arg, argv, &error)
        if !(val = arg) and (argv.empty? or /\A-/ =~ (val = argv[0]))
          return nil, block, nil                                         # +1
        end
        opt = (val = parse_arg(val, &error))[1]                          # +2
        val = conv_arg(*val)                                             # +3
        if opt and !arg
          argv.shift                                                     # +4
        else
          val[0] = nil                                                   # +5
        end
        val                                                              # +6
      end

      (You might argue that the two assigments within the first @if@ should count as statements, and that perhaps the nested assignment should count as +2.)

      There are no issues that match your filters.

      Category
      Status