class Subtitle
Attributes
chunks[R]
Public Class Methods
new(input)
click to toggle source
# File lib/subtitle.rb, line 12 def initialize input if input.is_a? Array @chunks = input else input = input.read if input.respond_to? :read @chunks = [] chunks = input.split /(\r?\n){2}/ chunks.each do |chunk| chunk.strip! @chunks << SubtitleChunk.new(chunk) unless chunk.empty? end end end
Public Instance Methods
initialize_copy(source)
click to toggle source
Calls superclass method
# File lib/subtitle.rb, line 28 def initialize_copy source super @chunks = @chunks.dup @chunks.map! { |chunk| chunk.dup } end
shift(seconds)
click to toggle source
# File lib/subtitle.rb, line 38 def shift seconds subtitle = self.dup subtitle.shift! seconds end
shift!(seconds)
click to toggle source
# File lib/subtitle.rb, line 43 def shift! seconds @chunks.each do |chunk| chunk.shift! seconds end self end
to_s()
click to toggle source
# File lib/subtitle.rb, line 34 def to_s @chunks.map.with_index { |chunk, order| chunk.to_s(order + 1) }.join "\n" end