51 lines
1.1 KiB
Ruby
51 lines
1.1 KiB
Ruby
require 'options'
|
|
|
|
class VDR::Channel
|
|
attr_reader :vdr, :number, :names, :bouquet, :frequency, :parameters
|
|
attr_accessor :source, :srate, :vpid, :apid, :tpid, :sid, :nid, :tid, :rid
|
|
|
|
def initialize vdr, *pa
|
|
@vdr = vdr
|
|
self.number, self.names, self.frequency, self.parameters, self.source,
|
|
self.srate, self.vpid, self.apid, self.tpid, self.sid, self.nid,
|
|
self.tid, self.rid = if pa.size == 1 && pa[0].kind_of?( String)
|
|
|
|
pa, n = pa[0], 0
|
|
n, pa = $1, $2 if /^(\d+) +(.*)$/.match pa
|
|
[ n ] + pa.split( ':')
|
|
else
|
|
pa
|
|
end
|
|
end
|
|
|
|
def number= value
|
|
value = value.to_i
|
|
Kernel.expect Fixnum, value
|
|
@number = value
|
|
end
|
|
|
|
def names= value
|
|
value = value.split ',' if value.kind_of? String
|
|
Kernel.expect Array, value
|
|
value[-1], @bouquet = value[-1].split ';'
|
|
@names = value
|
|
end
|
|
|
|
def bouquet= value
|
|
Kernel.expect String, value
|
|
@bouquet = value
|
|
end
|
|
|
|
def frequency= value
|
|
value = value.to_i
|
|
Kernel.expect Integer, value
|
|
@frequency = value
|
|
end
|
|
|
|
def parameters= value
|
|
value ||= ''
|
|
Kernel.expect String, value
|
|
@parameters = value
|
|
end
|
|
end
|