Sha256: 12f176e37f52b1448d4b3e3d8d0296dff8244c9a3095a355a1ff961b36262fce

Contents?: true

Size: 1.53 KB

Versions: 1

Compression:

Stored size: 1.53 KB

Contents

module Animoto
  module Resources
    module Jobs
      class Rendering < Animoto::Resources::Jobs::Base
    
        endpoint '/jobs/rendering'

        # @return [Hash{Symbol=>Object}]
        # @see Animoto::Support::StandardEvelope::ClassMethods#unpack_standard_envelope
        def self.unpack_standard_envelope body
          links = unpack_links(body)
          super.merge({
            :storyboard_url => links['storyboard'],
            :video_url      => links['video']
          })
        end
    
        # The Storyboard this job will render a video from.
        # @return [Resources::Storyboard]
        attr_reader :storyboard
        
        # The URL to the storyboard resource.
        # @return [String]
        attr_reader :storyboard_url
        
        # The Video created by this job.
        # @return [Resources::Video]
        attr_reader :video
        
        # The URL to the video resource.
        #
        # @note This URL points to the video *resource* and not the actual video *file*.
        # @return [String]
        attr_reader :video_url
    
        # @return [Jobs::Rendering]
        # @see Animoto::Jobs::Base#instantiate
        def instantiate attributes = {}
          @storyboard_url = attributes[:storyboard_url]
          @storyboard = Animoto::Resources::Storyboard.new(:url => @storyboard_url) if @storyboard_url
          @video_url = attributes[:video_url]
          @video = Animoto::Resources::Video.new(:url => @video_url) if @video_url
          super
        end
        
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
animoto-1.0.0 ./lib/animoto/resources/jobs/rendering.rb