class AnySMS::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/any_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, _args = {})
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/any_sms/backend/logger.rb, line 23 def send_sms(phone, text, _args = {}) @logger.send(@severity, "[SMS] #{phone}: #{text}") respond_with_status :success end