module RuboCop::Cop::InDeltaMixin
Common functionality for `AssertInDelta` and `RefuteInDelta` cops.
Constants
- MSG
Public Instance Methods
on_send(node)
click to toggle source
# File lib/rubocop/cop/mixin/in_delta_mixin.rb, line 9 def on_send(node) equal_floats_call(node) do |expected, actual, message| message = message.first good_method = build_good_method(expected, actual, message) if expected.float_type? || actual.float_type? message = format(MSG, good_method: good_method, bad_method: node.source) add_offense(node, message: message) do |corrector| corrector.replace(node, good_method) end end end end
Private Instance Methods
assertion_method()
click to toggle source
# File lib/rubocop/cop/mixin/in_delta_mixin.rb, line 34 def assertion_method class_name = self.class.name.split('::').last class_name[/\A[[:upper:]][[:lower:]]+/].downcase end
build_good_method(expected, actual, message)
click to toggle source
# File lib/rubocop/cop/mixin/in_delta_mixin.rb, line 26 def build_good_method(expected, actual, message) if message "#{assertion_method}_in_delta(#{expected.source}, #{actual.source}, 0.001, #{message.source})" else "#{assertion_method}_in_delta(#{expected.source}, #{actual.source})" end end