class Boppers::Testing::NotifierLinter

Attributes

assertions[RW]

Public Class Methods

assert_call_method(notifier) click to toggle source
# File lib/boppers/testing/notifier_linter.rb, line 26
def self.assert_call_method(notifier)
  message = "Notifier must implement #{notifier.class}#call(title, message, options)"
  call_method = notifier.method(:call)
  assert_equal 3, call_method.parameters.size, message
end
assert_initialize_method(notifier) click to toggle source
# File lib/boppers/testing/notifier_linter.rb, line 20
def self.assert_initialize_method(notifier)
  message = "Notifier must implement #{notifier.class}.new(subscribe: nil)"
  initialize_method = notifier.method(:initialize)
  assert_includes initialize_method.parameters, %i{key subscribe}, message
end
call(notifier) click to toggle source
# File lib/boppers/testing/notifier_linter.rb, line 14
def self.call(notifier)
  assert_respond_to(notifier, :call)
  assert_initialize_method(notifier)
  assert_call_method(notifier)
end