Class: Codeclimate::Collectors::MessagesFacade

Inherits:
Object
  • Object
show all
Defined in:
lib/codeclimate/collectors/messages_facade.rb

Direct Known Subclasses

Testing::StubMessagesFacade

Instance Method Summary collapse

Constructor Details

#initialize(implementation:) ⇒ MessagesFacade

Wraps functionality for sending messages. Takes care of some basic validation and such so that individual implementations don’t need to.

implementation should respond to #send_message.



8
9
10
# File 'lib/codeclimate/collectors/messages_facade.rb', line 8

def initialize(implementation:)
  @implementation = implementation
end

Instance Method Details

#<<(message) ⇒ Object



19
20
21
# File 'lib/codeclimate/collectors/messages_facade.rb', line 19

def <<(message)
  send_message(message)
end

#send_message(message) ⇒ Object



12
13
14
15
16
17
# File 'lib/codeclimate/collectors/messages_facade.rb', line 12

def send_message(message)
  if !message.valid?
    raise Messages::InvalidMessage, message.errors.full_messages.to_sentence
  end
  implementation.send_message(message)
end