2014-01-07 20:29:40 +00:00
|
|
|
module JamRuby
|
|
|
|
|
class IcecastLimit < ActiveRecord::Base
|
|
|
|
|
|
2014-01-19 02:20:44 +00:00
|
|
|
attr_accessible :clients, :sources, :queue_size, :client_timeout, :header_timeout, :source_timeout, :burst_size,
|
|
|
|
|
as: :admin
|
|
|
|
|
|
2014-01-17 04:51:19 +00:00
|
|
|
has_many :servers, class_name: 'JamRuby::IcecastServer', inverse_of: :limit, foreign_key: 'limit_id'
|
2014-01-17 19:55:26 +00:00
|
|
|
has_many :templates, class_name: 'JamRuby::IcecastTemplate', inverse_of: :limit, foreign_key: 'limit_id'
|
2014-01-17 04:51:19 +00:00
|
|
|
|
|
|
|
|
validates :clients, presence: true, numericality: {only_integer: true}, length: {in: 1..15000}
|
|
|
|
|
validates :sources, presence: true, numericality: {only_integer: true}, length: {in:1..10000}
|
|
|
|
|
validates :queue_size, presence: true, numericality: {only_integer: true}
|
|
|
|
|
validates :client_timeout, presence: true, numericality: {only_integer: true}
|
|
|
|
|
validates :header_timeout, presence: true, numericality: {only_integer: true}
|
|
|
|
|
validates :source_timeout, presence: true, numericality: {only_integer: true}
|
|
|
|
|
validates :burst_size, presence: true, numericality: {only_integer: true}
|
|
|
|
|
|
2014-01-19 02:20:44 +00:00
|
|
|
after_save :poke_config
|
|
|
|
|
|
|
|
|
|
def poke_config
|
|
|
|
|
IcecastServer.update(servers, config_changed: 1)
|
|
|
|
|
templates.each { |template| IcecastServer.update(template.servers, config_changed: 1) }
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def to_s
|
|
|
|
|
"clients=#{clients} sources=#{sources}"
|
|
|
|
|
end
|
|
|
|
|
|
2014-01-17 04:51:19 +00:00
|
|
|
def dumpXml (builder)
|
|
|
|
|
|
|
|
|
|
builder.tag! 'limits' do |limits|
|
|
|
|
|
limits.tag! 'clients', clients
|
|
|
|
|
limits.tag! 'sources', sources
|
|
|
|
|
limits.tag! 'queue-size', queue_size
|
|
|
|
|
limits.tag! 'client-timeout', client_timeout
|
|
|
|
|
limits.tag! 'header-timeout', header_timeout
|
|
|
|
|
limits.tag! 'source-timeout', source_timeout
|
|
|
|
|
limits.tag! 'burst-on-connect', 1
|
|
|
|
|
limits.tag! 'burst-size', burst_size
|
|
|
|
|
end
|
2014-01-07 22:27:00 +00:00
|
|
|
end
|
2014-01-07 20:29:40 +00:00
|
|
|
|
|
|
|
|
end
|
2014-01-14 21:24:45 +00:00
|
|
|
end
|