class Bitmovin::Encoding::Encodings::Muxings::Drms::DrmMuxingResource

Attributes

created_at[RW]
description[RW]
encoding_id[RW]
id[RW]
modified_at[RW]
muxing_id[RW]
name[RW]
outputs[RW]

Public Class Methods

new(encoding_id, muxing_id, hash = {}) click to toggle source
Calls superclass method Bitmovin::Resource::new
# File lib/bitmovin/encoding/encodings/muxings/drms/drm_muxing_resource.rb, line 8
def initialize(encoding_id, muxing_id, hash = {})
  hsh = ActiveSupport::HashWithIndifferentAccess.new(underscore_hash(hash))
  @encoding_id = encoding_id
  @muxing_id = muxing_id
  muxing_type = self.class.name.demodulize.gsub(/(.*)Muxing.*/, '\1').downcase
  encryption_type = self.class.name.demodulize.gsub(/.*Muxing(.*)Encryption/, '\1').downcase
  init_instance(File.join("/v1/encoding/encodings/", encoding_id, "muxings", muxing_type, muxing_id, "drm", encryption_type))
  super(hsh)
  @outputs = (hsh[:outputs] || []).map do |output|
    Bitmovin::Encoding::StreamOutput.new(output)
  end
end

Public Instance Methods

build_output(opts = {}) click to toggle source
# File lib/bitmovin/encoding/encodings/muxings/drms/drm_muxing_resource.rb, line 21
def build_output(opts = {})
  output = Bitmovin::Encoding::StreamOutput.new(opts)
  @outputs << output
  output
end

Private Instance Methods

collect_attributes() click to toggle source
# File lib/bitmovin/encoding/encodings/muxings/drms/drm_muxing_resource.rb, line 29
def collect_attributes
  val = Hash.new
  ignored_variables = []
  if (self.respond_to?(:ignore_fields))
    ignored_variables = self.ignore_fields
  end
  instance_variables.each do |name|
    if ignored_variables.include?(name)
      next
    end
    if name == :@outputs
      val["outputs"] = @outputs.map { |o| o.send(:collect_attributes) }
      next
    end

    if name == :@streams
      val["streams"] = @streams.map { |s| { "streamId" => s } }
      next
    end
    json_name = ActiveSupport::Inflector.camelize(name.to_s.gsub(/@/, ''), false)
    val[json_name] = instance_variable_get(name)
  end
  val
end