Method: Titlekit::ASS.import

Defined in:
lib/titlekit/parsers/ass.rb

.import(string) ⇒ Array<Hash>

Parses the supplied string and builds the resulting subtitles array.

Parameters:

  • string (String)

    proper UTF-8 ASS file content

Returns:

  • (Array<Hash>)

    the imported subtitles



49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/titlekit/parsers/ass.rb', line 49

def self.import(string)
  Treetop.load(File.join(__dir__, 'ass'))
  parser = ASSParser.new
  syntax_tree = parser.parse(string)

  if syntax_tree
    return syntax_tree.build
  else
    failure = "failure_index #{parser.failure_index}\n"
    failure += "failure_line #{parser.failure_line}\n"
    failure += "failure_column #{parser.failure_column}\n"
    failure += "failure_reason #{parser.failure_reason}\n"

    raise failure
  end 
end