class Codeclimate::Collectors::MessagesFacade

Attributes

implementation[R]

Public Class Methods

new(implementation:) click to toggle source

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.

# File lib/codeclimate/collectors/messages_facade.rb, line 8
def initialize(implementation:)
  @implementation = implementation
end

Public Instance Methods

<<(message) click to toggle source
# File lib/codeclimate/collectors/messages_facade.rb, line 19
def <<(message)
  send_message(message)
end
send_message(message) click to toggle source
# 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