Sha256: 790a220a481dc30fe41193d065ce450df0b34fb556d11364b02e8d555d97ede6

Contents?: true

Size: 789 Bytes

Versions: 3

Compression:

Stored size: 789 Bytes

Contents

require 'active_support'

module ActiveEncode
  module TechnicalMetadata
    extend ActiveSupport::Concern

    included do
      attr_accessor :width
      attr_accessor :height
      attr_accessor :frame_rate

      # In milliseconds
      attr_accessor :duration

      # In bytes
      attr_accessor :file_size

      attr_accessor :checksum

      attr_accessor :audio_codec
      attr_accessor :video_codec
      attr_accessor :audio_bitrate
      attr_accessor :video_bitrate
    end

    def assign_tech_metadata metadata
      [:width, :height, :frame_rate, :duration, :file_size, :checksum,
       :audio_codec, :video_codec, :audio_bitrate, :video_bitrate].each do |field|
         self.send("#{field}=", metadata[field]) if metadata.has_key?(field)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
active_encode-0.5.0 lib/active_encode/technical_metadata.rb
active_encode-0.4.1 lib/active_encode/technical_metadata.rb
active_encode-0.4 lib/active_encode/technical_metadata.rb