Class: ShiftSubtitles::Subtitles
- Inherits:
-
Object
- Object
- ShiftSubtitles::Subtitles
- Includes:
- Enumerable
- Defined in:
- lib/shift_subtitles/subtitles.rb
Instance Attribute Summary collapse
-
#subtitle_list ⇒ Object
Returns the value of attribute subtitle_list.
Instance Method Summary collapse
- #each ⇒ Object
- #formatted_subtitles_for_file ⇒ Object
-
#initialize(input_file_path) ⇒ Subtitles
constructor
A new instance of Subtitles.
- #input_file_contents(input_file_path) ⇒ Object
- #input_file_pattern ⇒ Object
- #update_subtitles(seconds_difference) ⇒ Object
Constructor Details
#initialize(input_file_path) ⇒ Subtitles
Returns a new instance of Subtitles.
9 10 11 12 |
# File 'lib/shift_subtitles/subtitles.rb', line 9 def initialize input_file_path input_file_subtitles = input_file_contents(input_file_path).scan(input_file_pattern) @subtitle_list = input_file_subtitles.collect { |subtitle| ShiftSubtitles::Subtitle.new(subtitle) } end |
Instance Attribute Details
#subtitle_list ⇒ Object
Returns the value of attribute subtitle_list.
7 8 9 |
# File 'lib/shift_subtitles/subtitles.rb', line 7 def subtitle_list @subtitle_list end |
Instance Method Details
#each ⇒ Object
14 15 16 |
# File 'lib/shift_subtitles/subtitles.rb', line 14 def each @subtitle_list.each {|subtitle| yield(subtitle)} end |
#formatted_subtitles_for_file ⇒ Object
22 23 24 |
# File 'lib/shift_subtitles/subtitles.rb', line 22 def formatted_subtitles_for_file collect { |subtitle| subtitle.format }.join end |
#input_file_contents(input_file_path) ⇒ Object
26 27 28 |
# File 'lib/shift_subtitles/subtitles.rb', line 26 def input_file_contents input_file_path ShiftSubtitles::FileHelper.operation_with_validation('input', input_file_path) { File.read(input_file_path) } end |
#input_file_pattern ⇒ Object
30 31 32 |
# File 'lib/shift_subtitles/subtitles.rb', line 30 def input_file_pattern /[0-9]+\n[0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3} --> [0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3}\n.*/ end |
#update_subtitles(seconds_difference) ⇒ Object
18 19 20 |
# File 'lib/shift_subtitles/subtitles.rb', line 18 def update_subtitles seconds_difference each { |subtitle| subtitle.update_duration(seconds_difference) } end |