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