class ActLike::Matcher
Attributes
actual[R]
expected[R]
offenses[R]
Public Class Methods
new(actual, expected)
click to toggle source
# File lib/act_like/matcher.rb, line 5 def initialize(actual, expected) @actual = actual @expected = expected @offenses = Hash.new { |offenses, offense| offenses[offense] = Array.new } end
Public Instance Methods
check()
click to toggle source
# File lib/act_like/matcher.rb, line 11 def check check_class_methods check_instance_methods end
Private Instance Methods
check_class_methods()
click to toggle source
# File lib/act_like/matcher.rb, line 35 def check_class_methods expected .public_methods .map(&expected.method(:public_method)) .each_with_object(offenses) { |method, offenses| begin unless actual.public_method(method.name).arity == method.arity offenses[:arity] << "self.#{method.name}" end rescue NameError offenses[:missing] << "self.#{method.name}" end } end
check_instance_methods()
click to toggle source
# File lib/act_like/matcher.rb, line 20 def check_instance_methods expected .public_instance_methods .map(&expected.method(:public_instance_method)) .each_with_object(offenses) { |method, offenses| begin unless actual.public_instance_method(method.name).arity == method.arity offenses[:arity] << method.name.to_s end rescue NameError offenses[:missing] << method.name.to_s end } end