class SrtSubtitleValidator::Cli

Public Class Methods

srt_default_options() click to toggle source
# File lib/srt_subtitle_validator/cli.rb, line 15
def self.srt_default_options
  method_option :without_backup, default: false, type: :boolean, desc: 'Skip backuping original SRT file'
  method_option :output, aliases: '-o', default: nil, type: :string, desc: 'Output directory (file)'
  method_option :encoding, aliases: '-e', default: "cp1250", type: :string, desc: 'Output directory (file)'
end

Public Instance Methods

check(*files) click to toggle source
# File lib/srt_subtitle_validator/cli.rb, line 23
def check(*files)
  files_to_convert = Array.new
  Array(files).each do |file|
    validator = SrtSubtitleValidator::Validator.new(file)
    say("\n == #{validator.file_name} -> ")
    if validator.valid?
      say 'SRT file is valid', :green
    else
      say 'SRT file is invalid, with following errors: ', :red, true
      validator.srt.errors.each { |e| say "* #{e}" }
      files_to_convert << validator
    end
  end
  if files_to_convert.any? && yes?("Try to convert  #{files_to_convert.length} files ?")
    files_to_convert.each { |f| f.convert_srt(options[:output], options[:without_backup]) }
  end

end
convert(*files) click to toggle source
# File lib/srt_subtitle_validator/cli.rb, line 45
def convert(*files)
  Array(files).each do |file|
    validator = SrtSubtitleValidator::Validator.new(file)
    unless validator.valid?
      validator.convert_srt(options[:output], options[:without_backup])
    end
  end
end