== Why is this an issue?

The ``++case++`` statement should be used only to clearly define some new branches in the control flow. As soon as a ``++when++`` clause contains too many statements this highly decreases the readability of the overall control flow statement. In such case, the content of the case clause should be extracted into a dedicated function.

=== Noncompliant code example

With the threshold set at 5:

[source,ruby]
----
case myVariable
when 0 then # Noncompliant: 6 lines till next "when"
    methodCall1("")
    methodCall2("")
    methodCall3("")
    methodCall4("")
    methodCall5("")
    methodCall6("")
when 1
   # ...
end
----

=== Compliant solution

[source,ruby]
----
case myVariable
when 0 then
  doSomething()
when 1
   # ...
end
...
def doSomething()
    methodCall1("")
    methodCall2("")
    methodCall3("")
    methodCall4("")
    methodCall5("")
    methodCall6("")
end
----

ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

include::../message.adoc[]

include::../parameters.adoc[]

'''
== Comments And Links
(visible only on this page)

include::../comments-and-links.adoc[]

endif::env-github,rspecator-view[]
