class Subber::File::Base
Attributes
formatter_klass[R]
parser_klass[R]
subtitles[R]
Public Class Methods
formatter(value = nil)
click to toggle source
@param value [Class] class to be used as formatter
# File lib/subber/file/base.rb, line 17 def formatter(value = nil) @formatter_klass = value unless value.nil? end
from_content(content)
click to toggle source
@param content [String] @return [Subber::File::Base]
# File lib/subber/file/base.rb, line 24 def from_content(content) subtitles = parser_klass.parse(content) new(subtitles: subtitles) end
from_path(path)
click to toggle source
@param path [String] @return [Subber::File::Base]
# File lib/subber/file/base.rb, line 32 def from_path(path) content = open(path).read from_content(content) end
new(subtitles: nil)
click to toggle source
@param [Hash] @param subtitles [Array<Subber::Subtitle>]
# File lib/subber/file/base.rb, line 43 def initialize(subtitles: nil) @subtitles = subtitles end
parser(value = nil)
click to toggle source
@param value [Class] class to be used as parser
# File lib/subber/file/base.rb, line 11 def parser(value = nil) @parser_klass = value unless value.nil? end
Public Instance Methods
content()
click to toggle source
@return [String]
# File lib/subber/file/base.rb, line 49 def content @content ||= formatter.format(subtitles) end
export(path)
click to toggle source
@param path [String] Remote or local file path
# File lib/subber/file/base.rb, line 55 def export(path) File.write(path, content) end
shift(ms)
click to toggle source
@param ms [Integer] Can be both positive and negative @return [Subber::File::Base] return a new copy with shifted subtitles
# File lib/subber/file/base.rb, line 62 def shift(ms) new_subtitles = subtitles.map { |subtitle| subtitle.shift(ms) } self.class.new(subtitles: new_subtitles) end
shift!(ms)
click to toggle source
@param ms [Integer] Can be both positive and negative mutates the current file's subtitles
# File lib/subber/file/base.rb, line 70 def shift!(ms) subtitles.each { |subtitle| subtitle.shift!(ms) } end
Private Instance Methods
formatter()
click to toggle source
# File lib/subber/file/base.rb, line 76 def formatter self.class.formatter_klass end