class ActiveSMS::Backend::Logger

Sms backend for logging outgoing sms instead of actually sending them

Constants

LOG_SEVERITY

Log level validation, all invalid values lead to ArgumentError. Has anyone heard how to receive log levels from ruby logger itself?

Public Class Methods

new(logger: Logger.new(STDOUT), severity: :info) click to toggle source

@param logger [::Logger] Class implementing logger interface @param severity [Symbol] Severity to log with

# 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

Public Instance Methods

send_sms(phone, text) click to toggle source

Method that sends phone and text to logger

@param phone [String] Phone number to send sms @param text [String] Sms text

# 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