lib/invoice_entity_to_json.rb

Summary

Maintainability
A
3 hrs
Test Coverage
A
93%

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

  def activity_item_hash(activity_item)
    cells = activity_item.variables.map(&:state).uniq.each_with_object({}) do |code, cells|
      orbf_var = activity_item.variable(code)
      next unless orbf_var

Severity: Minor
Found in lib/invoice_entity_to_json.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 request_hash
    {
      entity:            @invoicing_request.entity,
      period:            @invoicing_request.year_quarter.to_dhis2,
      engine_version:    @invoicing_request.engine_version,
Severity: Minor
Found in lib/invoice_entity_to_json.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. [15/10]
Open

  def invoice_hash(invoice)
    total_items = invoice.total_items.sort_by { |total_item| total_item.formula.code }.uniq
    {
      orgunit_ext_id: invoice.orgunit_ext_id,
      orgunit_name:   pyramid.org_unit(invoice.orgunit_ext_id)&.name,
Severity: Minor
Found in lib/invoice_entity_to_json.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.

Cyclomatic complexity for activity_item_hash is too high. [7/6]
Open

  def activity_item_hash(activity_item)
    cells = activity_item.variables.map(&:state).uniq.each_with_object({}) do |code, cells|
      orbf_var = activity_item.variable(code)
      next unless orbf_var

Severity: Minor
Found in lib/invoice_entity_to_json.rb by rubocop

This cop checks that the cyclomatic complexity of methods is not higher than the configured maximum. The cyclomatic complexity is the number of linearly independent paths through a method. The algorithm counts decision points and adds one.

An if statement (or unless or ?:) increases the complexity by one. An else branch does not, since it doesn't add a decision point. The && operator (or keyword and) can be converted to a nested if statement, and ||/or is shorthand for a sequence of ifs, so they also add one. Loops can be said to have an exit condition, so they add one.

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

  def activity_item_hash(activity_item)
    cells = activity_item.variables.map(&:state).uniq.each_with_object({}) do |code, cells|
      orbf_var = activity_item.variable(code)
      next unless orbf_var

Severity: Minor
Found in lib/invoice_entity_to_json.rb - About 1 hr to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Method activity_item_hash has 35 lines of code (exceeds 25 allowed). Consider refactoring.
Open

  def activity_item_hash(activity_item)
    cells = activity_item.variables.map(&:state).uniq.each_with_object({}) do |code, cells|
      orbf_var = activity_item.variable(code)
      next unless orbf_var

Severity: Minor
Found in lib/invoice_entity_to_json.rb - About 1 hr to fix

    Block has too many lines. [27/25]
    Open

        cells = activity_item.variables.map(&:state).uniq.each_with_object({}) do |code, cells|
          orbf_var = activity_item.variable(code)
          next unless orbf_var
    
          key = orbf_var.formula&.code || orbf_var.state
    Severity: Minor
    Found in lib/invoice_entity_to_json.rb by rubocop

    This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

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

          kind:           invoice.kind,
    Severity: Minor
    Found in lib/invoice_entity_to_json.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

            key:                     orbf_var.key,
    Severity: Minor
    Found in lib/invoice_entity_to_json.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

          solution:                total_item.value&.to_s,
    Severity: Minor
    Found in lib/invoice_entity_to_json.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})

    Shadowing outer local variable - cells.
    Open

        cells = activity_item.variables.map(&:state).uniq.each_with_object({}) do |code, cells|
    Severity: Minor
    Found in lib/invoice_entity_to_json.rb by rubocop

    This cop looks for use of the same name as outer local variables for block arguments or block local variables. This is a mimic of the warning "shadowing outer local variable - foo" from ruby -cw.

    Example:

    # bad
    
    def some_method
      foo = 1
    
      2.times do |foo| # shadowing outer `foo`
        do_something(foo)
      end
    end

    Example:

    # good
    
    def some_method
      foo = 1
    
      2.times do |bar|
        do_something(bar)
      end
    end

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

          period:            @invoicing_request.year_quarter.to_dhis2,
    Severity: Minor
    Found in lib/invoice_entity_to_json.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

          warnings:          if @project.contract_settings
                               nil
                             elsif contracted?(@invoicing_request, @project)
                               nil
                             else
    Severity: Minor
    Found in lib/invoice_entity_to_json.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:              total_item.explanations[0],
    Severity: Minor
    Found in lib/invoice_entity_to_json.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

          total_items:    total_items.map do |total_item|
            total_item_hash(total_item)
          end
    Severity: Minor
    Found in lib/invoice_entity_to_json.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

              name:   (@data_compound.data_element(activity_state.ext_id) || @data_compound.indicator(activity_state.ext_id))&.name
    Severity: Minor
    Found in lib/invoice_entity_to_json.rb by rubocop

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

          orgunit_name:   pyramid.org_unit(invoice.orgunit_ext_id)&.name,
    Severity: Minor
    Found in lib/invoice_entity_to_json.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

          period:         invoice.period,
    Severity: Minor
    Found in lib/invoice_entity_to_json.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

            not_exported:            activity_item.not_exported?(key),
    Severity: Minor
    Found in lib/invoice_entity_to_json.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

            is_input:                is_input(activity_item, key),
    Severity: Minor
    Found in lib/invoice_entity_to_json.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

          coc_ext_id:     invoice.coc_ext_id,
    Severity: Minor
    Found in lib/invoice_entity_to_json.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

            substituted:             activity_item.substitued[key],
    Severity: Minor
    Found in lib/invoice_entity_to_json.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

            key:   activity_item.activity.activity_code,
    Severity: Minor
    Found in lib/invoice_entity_to_json.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

          formula:                 total_item.formula.code,
    Severity: Minor
    Found in lib/invoice_entity_to_json.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

          is_output:               total_item.formula.dhis2_mapping_de
    Severity: Minor
    Found in lib/invoice_entity_to_json.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})

    Rename is_output to output?.
    Open

      def is_output(activity_item, code)
    Severity: Minor
    Found in lib/invoice_entity_to_json.rb by rubocop

    This cop makes sure that predicates are named properly.

    Example:

    # bad
    def is_even(value)
    end
    
    def is_even?(value)
    end
    
    # good
    def even?(value)
    end
    
    # bad
    def has_value
    end
    
    def has_value?
    end
    
    # good
    def value?
    end

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

          code:           invoice.code,
    Severity: Minor
    Found in lib/invoice_entity_to_json.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_state.kind,
    Severity: Minor
    Found in lib/invoice_entity_to_json.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

            solution:                activity_item.solution[key]&.to_s,
    Severity: Minor
    Found in lib/invoice_entity_to_json.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:   (@data_compound.data_element(activity_state.ext_id) || @data_compound.indicator(activity_state.ext_id))&.name
    Severity: Minor
    Found in lib/invoice_entity_to_json.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

          not_exported:            total_item.not_exported,
    Severity: Minor
    Found in lib/invoice_entity_to_json.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

          entity:            @invoicing_request.entity,
    Severity: Minor
    Found in lib/invoice_entity_to_json.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

            is_output:               is_output(activity_item, key)
    Severity: Minor
    Found in lib/invoice_entity_to_json.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})

    Rename is_input to input?.
    Open

      def is_input(activity_item, code)
    Severity: Minor
    Found in lib/invoice_entity_to_json.rb by rubocop

    This cop makes sure that predicates are named properly.

    Example:

    # bad
    def is_even(value)
    end
    
    def is_even?(value)
    end
    
    # good
    def even?(value)
    end
    
    # bad
    def has_value
    end
    
    def has_value?
    end
    
    # good
    def value?
    end

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

            value:                   activity_item.solution[key]&.to_s,
    Severity: Minor
    Found in lib/invoice_entity_to_json.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

          substituted:             total_item.explanations[1],
    Severity: Minor
    Found in lib/invoice_entity_to_json.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

          engine_version:    @invoicing_request.engine_version,
    Severity: Minor
    Found in lib/invoice_entity_to_json.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

          key:                     total_item.key,
    Severity: Minor
    Found in lib/invoice_entity_to_json.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})

    There are no issues that match your filters.

    Category
    Status