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

35 lines
1.1 KiB
Ruby
Raw Permalink Normal View History

module JamRuby
class IcecastSecurity < ActiveRecord::Base
attr_accessible :chroot, :change_owner_user, :change_owner_group, as: :admin
has_many :servers, :class_name => "JamRuby::IcecastServer", :inverse_of => :security, :foreign_key => "security_id"
has_many :templates, :class_name => "JamRuby::IcecastTemplate", :inverse_of => :security, :foreign_key => "security_id"
validates :chroot, :inclusion => {:in => [0, 1]}
before_destroy :poke_config
after_save :poke_config
def poke_config
servers.update_all(config_changed: 1)
templates.each { |template| template.servers.update_all(config_changed: 1) }
end
def to_s
"chroot=#{chroot} change_owner_user=#{change_owner_user} change_owner_group=#{change_owner_group}"
end
def dumpXml(builder)
builder.tag! 'security' do |security|
security.tag! 'chroot', chroot
if change_owner_user
security.tag! 'changeowner' do
security.tag! 'user', change_owner_user
security.tag! 'group', change_owner_group
end
end
end
end
end
end