Sha256: 4dda25b0d7ba86463d16a8c7c3490297e1bf2e7ca2f320fed3f828a75ee434a6

Contents?: true

Size: 810 Bytes

Versions: 14

Compression:

Stored size: 810 Bytes

Contents

# frozen_string_literal: true
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|
        send("#{field}=", metadata[field]) if metadata.key?(field)
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
active_encode-1.2.3 lib/active_encode/technical_metadata.rb
active_encode-1.2.2 lib/active_encode/technical_metadata.rb
active_encode-1.2.1 lib/active_encode/technical_metadata.rb
active_encode-1.2.0 lib/active_encode/technical_metadata.rb
active_encode-1.1.3 lib/active_encode/technical_metadata.rb
active_encode-1.1.2 lib/active_encode/technical_metadata.rb
active_encode-1.1.1 lib/active_encode/technical_metadata.rb
active_encode-1.1.0 lib/active_encode/technical_metadata.rb
active_encode-1.0.0 lib/active_encode/technical_metadata.rb
active_encode-0.8.2 lib/active_encode/technical_metadata.rb
active_encode-0.8.1 lib/active_encode/technical_metadata.rb
active_encode-0.8.0 lib/active_encode/technical_metadata.rb
active_encode-0.7.0 lib/active_encode/technical_metadata.rb
active_encode-0.6.0 lib/active_encode/technical_metadata.rb