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