| Total Complexity | 3 |
| Total Lines | 30 |
| Duplicated Lines | 0 % |
| Coverage | 100% |
| Changes | 1 | ||
| Bugs | 0 | Features | 0 |
| 1 | 1 | module Textris |
|
| 3 | 1 | class Log < Textris::Delivery::Base |
|
| 4 | 1 | AVAILABLE_LOG_LEVELS = %w{debug info warn error fatal unknown} |
|
| 5 | |||
| 6 | 1 | def deliver(to) |
|
| 7 | 15 | log :info, "Sent text to #{Phony.format(to)}" |
|
| 8 | 14 | log :debug, "Texter: #{message.texter || 'UnknownTexter'}" + "#" + |
|
| 9 | "#{message.action || 'unknown_action'}" |
||
| 10 | 14 | log :debug, "Date: #{Time.now}" |
|
| 11 | 14 | log :debug, "From: #{message.from || 'unknown'}" |
|
| 12 | 42 | log :debug, "To: #{message.to.map { |i| Phony.format(to) }.join(', ')}" |
|
| 13 | 14 | log :debug, "Content: #{message.content}" |
|
| 14 | 14 | (message.media_urls || []).each_with_index do |media_url, index| |
|
| 15 | 4 | logged_message = index == 0 ? "Media URLs: " : " " |
|
| 16 | 4 | logged_message << media_url |
|
| 17 | 4 | log :debug, logged_message |
|
| 18 | end |
||
| 19 | end |
||
| 20 | |||
| 21 | 1 | private |
|
| 22 | |||
| 23 | 1 | def log(level, message) |
|
| 24 | 89 | level = Rails.application.config.try(:textris_log_level) || level |
|
| 25 | |||
| 26 | 89 | unless AVAILABLE_LOG_LEVELS.include?(level.to_s) |
|
| 27 | 1 | raise(ArgumentError, "Wrong log level: #{level}") |
|
| 28 | end |
||
| 29 | |||
| 30 | 88 | Rails.logger.send(level, message) |
|
| 31 | end |
||
| 32 | end |
||
| 33 | end |
||
| 35 |