Sha256: 5999d21c05dc072dd8648d8fa73a3e2b24b2fa2a8766c4edee16db1b419396c1

Contents?: true

Size: 751 Bytes

Versions: 87

Compression:

Stored size: 751 Bytes

Contents

require 'webvtt'
require 'fileutils'

module Pageflow
  module PaperclipProcessors
    class Vtt < Paperclip::Processor
      def make
        destination = make_tempfile_for(file.path)

        if File.extname(file.path) =~ /\.srt$/
          srt_to_vtt(file.path, destination.path)
        else
          FileUtils.cp(file.path, destination.path)
        end

        destination
      end

      private

      def srt_to_vtt(source_path, destination_path)
        WebVTT.convert_from_srt(source_path, destination_path)
      end

      def make_tempfile_for(path)
        basename = File.basename(path, File.extname(path))

        tempfile = Tempfile.new([basename, '.vtt'])
        tempfile.binmode

        tempfile
      end
    end
  end
end

Version data entries

87 entries across 87 versions & 1 rubygems

Version Path
pageflow-17.0.4 lib/pageflow/paperclip_processors/vtt.rb
pageflow-17.0.3 lib/pageflow/paperclip_processors/vtt.rb
pageflow-17.0.2 lib/pageflow/paperclip_processors/vtt.rb
pageflow-17.0.1 lib/pageflow/paperclip_processors/vtt.rb
pageflow-17.0.0 lib/pageflow/paperclip_processors/vtt.rb
pageflow-16.2.0 lib/pageflow/paperclip_processors/vtt.rb
pageflow-16.1.0 lib/pageflow/paperclip_processors/vtt.rb
pageflow-16.0.0 lib/pageflow/paperclip_processors/vtt.rb
pageflow-15.8.0 lib/pageflow/paperclip_processors/vtt.rb
pageflow-14.5.2 lib/pageflow/paperclip_processors/vtt.rb
pageflow-15.7.1 lib/pageflow/paperclip_processors/vtt.rb
pageflow-15.7.0 lib/pageflow/paperclip_processors/vtt.rb
pageflow-15.6.1 lib/pageflow/paperclip_processors/vtt.rb
pageflow-15.6.0 lib/pageflow/paperclip_processors/vtt.rb
pageflow-15.5.0 lib/pageflow/paperclip_processors/vtt.rb
pageflow-15.4.0 lib/pageflow/paperclip_processors/vtt.rb
pageflow-15.3.0 lib/pageflow/paperclip_processors/vtt.rb
pageflow-15.2.2 lib/pageflow/paperclip_processors/vtt.rb
pageflow-15.2.1 lib/pageflow/paperclip_processors/vtt.rb
pageflow-15.2.0 lib/pageflow/paperclip_processors/vtt.rb