app/services/project_factory.rb

Summary

Maintainability
D
2 days
Test Coverage
C
78%

Method has too many lines. [246/10]
Open

  def build(project_props = { dhis2_url: "http://play.dhis2.org/demo", user: "admin", password: "district", bypass_ssl: false })
    project = Project.new({
      name: "Sierra Leone PBF"
    }.merge(project_props))

Severity: Minor
Found in app/services/project_factory.rb by rubocop

This cop checks if the length of a method exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

Method build has 246 lines of code (exceeds 25 allowed). Consider refactoring.
Open

  def build(project_props = { dhis2_url: "http://play.dhis2.org/demo", user: "admin", password: "district", bypass_ssl: false })
    project = Project.new({
      name: "Sierra Leone PBF"
    }.merge(project_props))

Severity: Major
Found in app/services/project_factory.rb - About 1 day to fix

    Method has too many lines. [57/10]
    Open

      def update_links(project, suffix = "")
        project.build_entity_group(
          name:               "contracted entities",
          external_reference: "external_reference"
        )
    Severity: Minor
    Found in app/services/project_factory.rb by rubocop

    This cop checks if the length of a method exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

    File project_factory.rb has 400 lines of code (exceeds 250 allowed). Consider refactoring.
    Open

    class ProjectFactory
      def build(project_props = { dhis2_url: "http://play.dhis2.org/demo", user: "admin", password: "district", bypass_ssl: false })
        project = Project.new({
          name: "Sierra Leone PBF"
        }.merge(project_props))
    Severity: Minor
    Found in app/services/project_factory.rb - About 5 hrs to fix

      Method has too many lines. [28/10]
      Open

        def refresh_packages!(project, suffix)
          default_quantity_states = states_in(project, %w[Claimed Verified Tarif])
          default_quality_states = states_in(project,  ["Claimed", "Verified", "Max. Score"])
          default_performance_states = states_in(project, ["Claimed", "Max. Score", "Budget"])
      
      
      Severity: Minor
      Found in app/services/project_factory.rb by rubocop

      This cop checks if the length of a method exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

      Method has too many lines. [18/10]
      Open

        def additional_seed_actions(project, _suffix = "")
          verified_state = project.states.find { |s| s.name == "Verified" }
          max_state = project.states.find { |s| s.name == "Max. Score" }
      
          activity_1 = project.activities.detect { |a| a.name == "Vaccination" }
      Severity: Minor
      Found in app/services/project_factory.rb by rubocop

      This cop checks if the length of a method exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

      Method update_links has 57 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

        def update_links(project, suffix = "")
          project.build_entity_group(
            name:               "contracted entities",
            external_reference: "external_reference"
          )
      Severity: Major
      Found in app/services/project_factory.rb - About 2 hrs to fix

        Method has too many lines. [11/10]
        Open

          def update_package_with_dhis2(package, suffix, states, groups, activity_ids)
            package.states = states
            package.name = suffix + package.name
            groups.each_with_index do |group, index|
              package.package_entity_groups[index].assign_attributes(group)
        Severity: Minor
        Found in app/services/project_factory.rb by rubocop

        This cop checks if the length of a method exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

        Method refresh_packages! has 28 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

          def refresh_packages!(project, suffix)
            default_quantity_states = states_in(project, %w[Claimed Verified Tarif])
            default_quality_states = states_in(project,  ["Claimed", "Verified", "Max. Score"])
            default_performance_states = states_in(project, ["Claimed", "Max. Score", "Budget"])
        
        
        Severity: Minor
        Found in app/services/project_factory.rb - About 1 hr to fix

          Method update_package_with_dhis2 has 5 arguments (exceeds 4 allowed). Consider refactoring.
          Open

            def update_package_with_dhis2(package, suffix, states, groups, activity_ids)
          Severity: Minor
          Found in app/services/project_factory.rb - About 35 mins to fix

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

                package_quantity_pma = new_package(
                  "Quantity PMA",
                  "monthly",
                  ["fosa_group_id"],
                  [
            Severity: Minor
            Found in app/services/project_factory.rb and 1 other location - About 45 mins to fix
            app/services/project_factory.rb on lines 49..86

            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 41.

            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

            Further Reading

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

                package_quantity_pca = new_package(
                  "Quantity PCA",
                  "monthly",
                  ["hospital_group_id"],
                  [
            Severity: Minor
            Found in app/services/project_factory.rb and 1 other location - About 45 mins to fix
            app/services/project_factory.rb on lines 9..46

            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 41.

            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

            Further Reading

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

                payment_pma = project.payment_rules.build(
                  rule_attributes: {
                    name:                "Payment rule pma",
                    kind:                "payment",
                    formulas_attributes: [
            Severity: Minor
            Found in app/services/project_factory.rb and 1 other location - About 35 mins to fix
            app/services/project_factory.rb on lines 231..253

            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 34.

            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

            Further Reading

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

                payment_pca = project.payment_rules.build(
                  rule_attributes: {
                    name:                "Payment rule pca",
                    kind:                "payment",
                    formulas_attributes: [
            Severity: Minor
            Found in app/services/project_factory.rb and 1 other location - About 35 mins to fix
            app/services/project_factory.rb on lines 196..218

            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 34.

            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

            Further Reading

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

                activity_2 = project.activities.build(
                  project:                    project,
                  name:                       "Clients sous traitement ARV suivi pendant les 6 premiers mois",
                  activity_states_attributes: [
                    {
            Severity: Minor
            Found in app/services/project_factory.rb and 1 other location - About 15 mins to fix
            app/services/project_factory.rb on lines 293..299

            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 25.

            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

            Further Reading

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

                activity_1 = project.activities.build(
                  project: project,
                  name: "Vaccination", activity_states_attributes: [
                    { name: "Vaccination claimed", state: claimed_state, external_reference: "cl-ext-1" },
                    { name: "tarif for Vaccination ", state: tarif_state, external_reference: "tarif-ext-1" }
            Severity: Minor
            Found in app/services/project_factory.rb and 1 other location - About 15 mins to fix
            app/services/project_factory.rb on lines 301..316

            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 25.

            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

            Further Reading

            Align the elements of a hash literal if they span more than one line.
            Open

                    kind:                "payment",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                        expression:  "IF(quality_technical_score_value > 50, (0.35 * quality_technical_score_value) + (0.30 * 10.0), 0.0)",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Line is too long. [128/100]
            Open

              def build(project_props = { dhis2_url: "http://play.dhis2.org/demo", user: "admin", password: "district", bypass_ssl: false })
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Align the elements of a hash literal if they span more than one line.
            Open

                      name:     "Quantity PMA",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                        expression:  "quantity_total_pma + quality_bonus_value",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                      state:              tarif_state,
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                        code:        :quality_bonus_percentage_value,
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Line is too long. [101/100]
            Open

                      name:               "Clients sous traitement ARV suivi pendant les 6 premiers mois - decl",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Align the elements of a hash literal if they span more than one line.
            Open

                      name:     "Performance score",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                    name:                "Payment rule pma",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                  project:                    project,
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                  rules:                      rules,
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Do not use Time.now without zone. Use one of Time.zone.now, Time.current, Time.now.in_time_zone, Time.now.utc, Time.now.getlocal, Time.now.xmlschema, Time.now.iso8601, Time.now.jisx0301, Time.now.rfc3339, Time.now.httpdate, Time.now.to_i, Time.now.to_f instead.
            Open

                suffix = Time.now.to_s[0..15] + " - "
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            This cop checks for the use of Time methods without zone.

            Built on top of Ruby on Rails style guide (https://github.com/rubocop-hq/rails-style-guide#time) and the article http://danilenko.org/2012/7/6/rails_timezones/

            Two styles are supported for this cop. When EnforcedStyle is 'strict' then only use of Time.zone is allowed.

            When EnforcedStyle is 'flexible' then it's also allowed to use Time.intimezone.

            Example: EnforcedStyle: strict

            # `strict` means that `Time` should be used with `zone`.
            
            # bad
            Time.now
            Time.parse('2015-03-02 19:05:37')
            
            # bad
            Time.current
            Time.at(timestamp).in_time_zone
            
            # good
            Time.zone.now
            Time.zone.parse('2015-03-02 19:05:37')

            Example: EnforcedStyle: flexible (default)

            # `flexible` allows usage of `in_time_zone` instead of `zone`.
            
            # bad
            Time.now
            Time.parse('2015-03-02 19:05:37')
            
            # good
            Time.zone.now
            Time.zone.parse('2015-03-02 19:05:37')
            
            # good
            Time.current
            Time.at(timestamp).in_time_zone

            Align the elements of a hash literal if they span more than one line.
            Open

                      kind:     "activity",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                        code:        :quality_bonus_value,
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                  name:               "contracted entities",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                  frequency:                  frequency,
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Useless assignment to variable - hospital_group.
            Open

                hospital_group = { name: "Hospital",       organisation_unit_group_ext_ref: "tDZVQ1WtwpA" }
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            This cop checks for every useless assignment to local variable in every scope. The basic idea for this cop was from the warning of ruby -cw:

            assigned but unused variable - foo

            Currently this cop has advanced logic that detects unreferenced reassignments and properly handles varied cases such as branch, loop, rescue, ensure, etc.

            Example:

            # bad
            
            def some_method
              some_var = 1
              do_something
            end

            Example:

            # good
            
            def some_method
              some_var = 1
              do_something(some_var)
            end

            Line is too long. [127/100]
            Open

                        expression:  "IF(quality_technical_score_value > 50, (0.35 * quality_technical_score_value) + (0.30 * 10.0), 0.0)",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Align the elements of a hash literal if they span more than one line.
            Open

                      name:     "Quantity PHU",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                      name:     "QUALITY score",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                  name:                       name,
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                      kind:     "package",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                      name:               "Clients sous traitement ARV suivi pendant les 6 premiers mois - decl",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Line is too long. [104/100]
            Open

                      name:               "tarif for Clients sous traitement ARV suivi pendant les 6 premiers mois",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Line is too long. [176/100]
            Open

              # These only get run by the seed controller. Adding them to the normal build operation would break some specs, since these two are not really related, keeping these separate.
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Align the elements of a hash literal if they span more than one line.
            Open

                      kind:     "package",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                        code:        :quality_bonus_value,
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                        expression:  "quantity_total_pma * quality_bonus_percentage_value",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                      kind:     "activity",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                    kind:                "payment",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                        expression:  "quantity_total_pca * quality_bonus_percentage_value",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                      name:     "Quantity PCA",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                      name:     "Performance assessment",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Useless assignment to variable - admin_group.
            Open

                admin_group = {    name: "Administrative", organisation_unit_group_ext_ref: "w0gFTTmsUcF" }
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            This cop checks for every useless assignment to local variable in every scope. The basic idea for this cop was from the warning of ruby -cw:

            assigned but unused variable - foo

            Currently this cop has advanced logic that detects unreferenced reassignments and properly handles varied cases such as branch, loop, rescue, ensure, etc.

            Example:

            # bad
            
            def some_method
              some_var = 1
              do_something
            end

            Example:

            # good
            
            def some_method
              some_var = 1
              do_something(some_var)
            end

            Align the elements of a hash literal if they span more than one line.
            Open

                      name:     "Quantity PMA",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                      kind:     "activity",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                        code:        :quarterly_payment,
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                    name:                "Payment rule pca",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                        code:        :quarterly_payment,
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                      name:     "Quality assessment",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                        expression:  "IF(quality_technical_score_value > 50, (0.35 * quality_technical_score_value) + (0.30 * 10.0), 0.0)",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                        code:        :quality_bonus_percentage_value,
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                        expression:  "quantity_total_pca + quality_bonus_value",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                      state:              claimed_state,
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                  package_entity_groups:      groups.map do |g|
                    PackageEntityGroup.new(name: g, organisation_unit_group_ext_ref: g)
                  end
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                      kind:     "package",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                      kind:     "activity",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                  name:               clinic_group[:name],
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                      kind:     "package",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                  name:                       "Clients sous traitement ARV suivi pendant les 6 premiers mois",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Align the elements of a hash literal if they span more than one line.
            Open

                    kind:               formula.rule.kind,
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Line is too long. [127/100]
            Open

                        expression:  "IF(quality_technical_score_value > 50, (0.35 * quality_technical_score_value) + (0.30 * 10.0), 0.0)",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Align the elements of a hash literal if they span more than one line.
            Open

                      name:               "tarif for Clients sous traitement ARV suivi pendant les 6 premiers mois",
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            Check that the keys, separators, and values of a multi-line hash literal are aligned according to configuration. The configuration options are:

            - key (left align keys, one space before hash rockets and values)
            - separator (align hash rockets and colons, right align keys)
            - table (left align keys, hash rockets, and values)

            The treatment of hashes passed as the last argument to a method call can also be configured. The options are:

            - always_inspect
            - always_ignore
            - ignore_implicit (without curly braces)

            Alternatively you can specify multiple allowed styles. That's done by passing a list of styles to EnforcedStyles.

            Example: EnforcedHashRocketStyle: key (default)

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
              :ba => baz
            }

            Example: EnforcedHashRocketStyle: separator

            # bad
            {
              :foo => bar,
              :ba => baz
            }
            {
              :foo => bar,
              :ba  => baz
            }
            
            # good
            {
              :foo => bar,
               :ba => baz
            }

            Example: EnforcedHashRocketStyle: table

            # bad
            {
              :foo => bar,
               :ba => baz
            }
            
            # good
            {
              :foo => bar,
              :ba  => baz
            }

            Example: EnforcedColonStyle: key (default)

            # bad
            {
              foo: bar,
               ba: baz
            }
            {
              foo: bar,
              ba:  baz
            }
            
            # good
            {
              foo: bar,
              ba: baz
            }

            Example: EnforcedColonStyle: separator

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
               ba: baz
            }

            Example: EnforcedColonStyle: table

            # bad
            {
              foo: bar,
              ba: baz
            }
            
            # good
            {
              foo: bar,
              ba:  baz
            }

            Example: EnforcedLastArgumentHashStyle: always_inspect (default)

            # Inspect both implicit and explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
                         bar: 2)
            
            # good
            do_something(
              foo: 1,
              bar: 2
            )
            
            # good
            do_something({foo: 1,
                          bar: 2})
            
            # good
            do_something({
              foo: 1,
              bar: 2
            })

            Example: EnforcedLastArgumentHashStyle: always_ignore

            # Ignore both implicit and explicit hashes.
            
            # good
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Example: EnforcedLastArgumentHashStyle: ignore_implicit

            # Ignore only implicit hashes.
            
            # bad
            do_something({foo: 1,
              bar: 2})
            
            # good
            do_something(foo: 1,
              bar: 2)

            Example: EnforcedLastArgumentHashStyle: ignore_explicit

            # Ignore only explicit hashes.
            
            # bad
            do_something(foo: 1,
              bar: 2)
            
            # good
            do_something({foo: 1,
              bar: 2})

            Line is too long. [110/100]
            Open

                project.packages = [package_quantity_pma, package_quantity_pca, package_quality, package_perfomance_admin]
            Severity: Minor
            Found in app/services/project_factory.rb by rubocop

            There are no issues that match your filters.

            Category
            Status