rspec/rules/S4144/ruby/rule.adoc

79 lines
1.1 KiB
Plaintext
Raw Normal View History

== Why is this an issue?
:func_name: method
2020-06-30 12:49:37 +02:00
include::../description.adoc[]
2020-06-30 12:49:37 +02:00
[source,ruby,diff-id=1,diff-type=noncompliant]
2020-06-30 12:49:37 +02:00
----
class Circle
def initialize(radius)
@radius = radius
2020-06-30 12:49:37 +02:00
end
def width=(size)
@radius = size / 2
update_shape()
2020-06-30 12:49:37 +02:00
end
def height=(size) # Noncompliant: duplicates width
@radius = size / 2
update_shape()
end
def updateShape()
...
2020-06-30 12:49:37 +02:00
end
end
----
include::../inter.adoc[]
2020-06-30 12:49:37 +02:00
[source,ruby,diff-id=1,diff-type=compliant]
2020-06-30 12:49:37 +02:00
----
class Circle
def initialize(radius)
@radius = radius
end
def width=(width)
self.diameter = width
end
def height=(height)
self.diameter = height
2020-06-30 12:49:37 +02:00
end
def diameter=(diameter) # Implementation is shared
@radius = diameter / 2
update_shape()
2020-06-30 12:49:37 +02:00
end
def update_shape()
# ...
2020-06-30 12:49:37 +02:00
end
end
----
=== Exceptions
2020-06-30 12:49:37 +02:00
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[]