Class: ActiveSMS::Backend::Logger

Inherits:
Base
  • Object
show all
Defined in:
lib/active_sms/backend/logger.rb

Overview

Sms backend for logging outgoing sms instead of actually sending them

Constant Summary collapse

LOG_SEVERITY =

has anyone heard how to receive log levels from logger itself?

[:debug, :info, :warn, :error, :fatal, :unknown].freeze

Instance Method Summary collapse

Constructor Details

#initialize(logger: Logger.new(STDOUT), severity: :info) ⇒ Logger

Returns a new instance of Logger.

Parameters:

  • logger (::Logger) (defaults to: Logger.new(STDOUT))

    Class implementing logger interface

  • severity (Symbol) (defaults to: :info)

    Backend will use log severity you provide

Raises:

  • (ArgumentError)


9
10
11
12
13
14
15
16
17
# File 'lib/active_sms/backend/logger.rb', line 9

def initialize(logger: Logger.new(STDOUT), severity: :info)
  @logger   = logger
  @severity = severity

  raise ArgumentError, "Invalid log severity" unless LOG_SEVERITY.include?(@severity)

  return if @logger.respond_to?(@severity)
  raise ArgumentError, "Class should implement logger interface"
end

Instance Method Details

#send_sms(phone, text) ⇒ Object

Method that sends phone and text to logger



23
24
25
26
# File 'lib/active_sms/backend/logger.rb', line 23

def send_sms(phone, text)
  @logger.send(@severity, "[SMS] #{phone}: #{text}")
  respond_with_status :success
end