2014-01-07 20:29:40 +00:00
|
|
|
module JamRuby
|
|
|
|
|
class IcecastLogging < ActiveRecord::Base
|
|
|
|
|
|
2014-01-19 02:20:44 +00:00
|
|
|
attr_accessible :access_log, :error_log, :playlist_log, :log_level, :log_archive, :log_size, as: :admin
|
|
|
|
|
|
2014-01-17 04:51:19 +00:00
|
|
|
has_many :servers, :class_name => "JamRuby::IcecastServer", :inverse_of => :logging, :foreign_key => "logging_id"
|
2014-01-17 19:55:26 +00:00
|
|
|
has_many :templates, :class_name => "JamRuby::IcecastTemplate", :inverse_of => :logging, :foreign_key => "logging_id"
|
2014-01-07 20:29:40 +00:00
|
|
|
|
2014-01-17 04:51:19 +00:00
|
|
|
validates :access_log, presence: true
|
|
|
|
|
validates :error_log, presence: true
|
|
|
|
|
validates :log_level, :inclusion => {:in => [1, 2, 3, 4]}
|
2014-01-19 02:20:44 +00:00
|
|
|
validates :log_archive, :inclusion => {:in => [nil, 0, 1]}
|
2014-01-17 04:51:19 +00:00
|
|
|
validates :log_size, numericality: {only_integer: true}, if: lambda {|m| m.log_size.present?}
|
2014-01-10 21:02:52 +00:00
|
|
|
|
2014-01-21 14:51:03 +00:00
|
|
|
before_destroy :poke_config
|
|
|
|
|
after_save :poke_config
|
2014-01-19 02:20:44 +00:00
|
|
|
|
|
|
|
|
def poke_config
|
2016-07-17 15:16:27 +00:00
|
|
|
servers.update_all(config_changed: 1)
|
|
|
|
|
templates.each { |template| template.servers.update_all(config_changed: 1) }
|
2014-01-19 02:20:44 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def to_s
|
|
|
|
|
"access_log=#{access_log} error_log=#{error_log} log_level=#{log_level}"
|
|
|
|
|
end
|
2014-01-17 04:51:19 +00:00
|
|
|
def dumpXml(builder)
|
|
|
|
|
builder.tag! 'logging' do |log|
|
|
|
|
|
log.tag! 'accesslog', access_log
|
|
|
|
|
log.tag! 'errorlog', error_log
|
2014-01-19 02:20:44 +00:00
|
|
|
log.tag! 'playlistlog', playlist_log if !playlist_log.nil? && !playlist_log.empty?
|
2014-01-17 04:51:19 +00:00
|
|
|
log.tag! 'logsize', log_size if log_size
|
2014-01-19 02:20:44 +00:00
|
|
|
log.tag! 'logarchive', log_archive if log_archive
|
2014-01-17 04:51:19 +00:00
|
|
|
log.tag! 'loglevel', log_level
|
|
|
|
|
end
|
2014-01-10 21:02:52 +00:00
|
|
|
end
|
2014-01-07 20:29:40 +00:00
|
|
|
end
|
|
|
|
|
end
|