jam-cloud/ruby/lib/jam_ruby/models/icecast_limit.rb

39 lines
1.0 KiB
Ruby
Raw Normal View History

2014-01-07 20:29:40 +00:00
module JamRuby
class IcecastLimit < ActiveRecord::Base
2014-01-14 21:22:05 +00:00
include JAmXml
2014-01-07 20:29:40 +00:00
self.primary_key = 'id'
2014-01-10 21:02:52 +00:00
attr_accessible :clients, :sources, :queue_size, :client_timeout, :header_timeout, :source_timeout, :burst_size
2014-01-14 21:22:05 +00:00
validates :clients, numericality: {only_integer: true}, length: {in: 1..15000}
2014-01-07 20:29:40 +00:00
2014-01-10 21:02:52 +00:00
after_initialize :init
2014-01-10 23:53:16 +00:00
2014-01-10 21:02:52 +00:00
def init
self.clients ||= 10000
self.sources ||= 1000
self.queue_size ||= 102400
self.client_timeout ||= 30
self.header_timeout ||= 15
self.source_timeout ||= 10
self.burst_size ||= 65536
end
2014-01-07 22:27:00 +00:00
2014-01-14 21:22:05 +00:00
2014-01-10 21:02:52 +00:00
def dumpXml (ident=1, output=$stdout)
2014-01-14 21:22:05 +00:00
hash = Hash["clients" => self.clients,
"sources" => self.sources,
"queue_size" => self.queue_size,
"client_timeout" => self.client_timeout,
"header_timeout" => self.header_timeout]
hash.merge! "source_timeout" => self.source_timeout,
"burst_size" => self.burst_size
self.jdumpXml(hash, "limits", ident, output)
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