rspec/rules/S4144/ruby/rule.adoc
Fred Tingaud 32593aad3b
Modify rule S4144: Adapt to LaYC format (#1935)
Co-authored-by: Quentin Jaquier <quentin.jaquier@sonarsource.com>
2023-06-05 17:24:05 +02:00

78 lines
1.1 KiB
Plaintext

== Why is this an issue?
:func_name: method
include::../description.adoc[]
[source,ruby,diff-id=1,diff-type=noncompliant]
----
class Circle
def initialize(radius)
@radius = radius
end
def width=(size)
@radius = size / 2
update_shape()
end
def height=(size) # Noncompliant: duplicates width
@radius = size / 2
update_shape()
end
def updateShape()
...
end
end
----
include::../inter.adoc[]
[source,ruby,diff-id=1,diff-type=compliant]
----
class Circle
def initialize(radius)
@radius = radius
end
def width=(width)
self.diameter = width
end
def height=(height)
self.diameter = height
end
def diameter=(diameter) # Implementation is shared
@radius = diameter / 2
update_shape()
end
def update_shape()
# ...
end
end
----
=== Exceptions
Methods with fewer than 2 statements are ignored.
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
include::../message.adoc[]
include::../highlighting.adoc[]
'''
== Comments And Links
(visible only on this page)
include::../comments-and-links.adoc[]
endif::env-github,rspecator-view[]