Class: UEncode::Job

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/uencode/elements.rb

Constant Summary collapse

ATTRIBUTES =
[:source, :userdata, :notify]

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Job

Returns a new instance of Job.



189
190
191
192
193
# File 'lib/uencode/elements.rb', line 189

def initialize(options)
  @video_output = VideoOutput.new options[:video_output] || {}
  @captures = []
  super
end

Instance Method Details

#<<(item) ⇒ Object



203
204
205
# File 'lib/uencode/elements.rb', line 203

def <<(item)
  @video_output.items << item
end

#add_capture(capture) ⇒ Object



207
208
209
# File 'lib/uencode/elements.rb', line 207

def add_capture(capture)
  @captures << capture
end

#configure_video_output {|@video_output| ... } ⇒ Object

Yields:

  • (@video_output)


195
196
197
# File 'lib/uencode/elements.rb', line 195

def configure_video_output
  yield @video_output      
end

#each(&block) ⇒ Object



211
212
213
# File 'lib/uencode/elements.rb', line 211

def each(&block)
  @video_output.each &block
end

#itemsObject



199
200
201
# File 'lib/uencode/elements.rb', line 199

def items
  @video_output.items
end

#to_xmlObject



215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
# File 'lib/uencode/elements.rb', line 215

def to_xml
  xml = %Q{
    <job>
      <customerkey>#{UEncode.customer_key}</customerkey>
      <source>#{source}</source>
      #{userdata.nil? ? "" : '<userdata>' + userdata + '</userdata>'}
      #{notify.nil? ? "" : '<notify>' + notify + '</notify>'}
      <outputs>
        #{@video_output.to_xml}
        #{@captures.inject("") { |s, cap| s << cap.to_xml }}
      </outputs>
    </job>
  }
  Nokogiri::XML(xml).to_xml
end