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 |