Class: EncoderTools::CLI::Subtitles::Base

Inherits:
Base
  • Object
show all
Defined in:
lib/encoder-tools/cli/subtitles/base.rb

Direct Known Subclasses

FixLengths, Offset, Renumber, SpellCheck

Instance Attribute Summary

Attributes inherited from Base

#options, #shell

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#initialize, #run

Constructor Details

This class inherits a constructor from EncoderTools::CLI::Base

Class Method Details

.parser(parser = nil) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/encoder-tools/cli/subtitles/base.rb', line 5

def self.parser(parser=nil)
  case parser
  when nil
    @parser || EncoderTools::Subtitles::Parser
  when :default
    @parser = EncoderTools::Subtitles::Parser
  when :relaxed
    @parser = EncoderTools::Subtitles::RelaxedParser
  when Class
    @parser = parser
  else
    raise ArgumentError, "unexpected parser type: #{parser.inspect}"
  end
end

Instance Method Details

#parse(text) ⇒ Object



24
25
26
# File 'lib/encoder-tools/cli/subtitles/base.rb', line 24

def parse(text)
  EncoderTools::Subtitles::List.load(text, parser)
end

#parserObject



20
21
22
# File 'lib/encoder-tools/cli/subtitles/base.rb', line 20

def parser
  self.class.parser
end

#readObject



28
29
30
# File 'lib/encoder-tools/cli/subtitles/base.rb', line 28

def read
  parse(input.read)
end

#write(result) ⇒ Object



32
33
34
# File 'lib/encoder-tools/cli/subtitles/base.rb', line 32

def write(result)
  output << result.to_s
end