class Subjuster::Adjuster

Attributes

data[R]
inputs[R]

Public Class Methods

new(data:, inputs:) click to toggle source
# File lib/subjuster/adjuster.rb, line 5
def initialize(data:, inputs:)
  @data   = data
  @inputs = inputs
end

Public Instance Methods

run() click to toggle source
# File lib/subjuster/adjuster.rb, line 10
def run
  # new_data = data.clone
  data.map do |paragraph|
    paragraph[:start_time] = process_on(paragraph[:start_time])
    paragraph[:end_time]   = process_on(paragraph[:end_time])
    paragraph
  end
end

Private Instance Methods

process_on(date) click to toggle source

TODO: Refactoring needed

# File lib/subjuster/adjuster.rb, line 22
def process_on(date)
  _, hrs, min, sec, milli =  /(..):(..):(..),(...)/.match(date).to_a.map(&:to_i)
  timestamp_in_msec = milli + sec*1000 + min*60000 + hrs*3600000 + (inputs.adjustment_in_sec*1000).to_i
  rim = ""

  hr = timestamp_in_msec / 3600000
  rim << ("%02i" % hr) << ":" 
  
  min = timestamp_in_msec / 60000
  timestamp_in_msec -= min*60000
  rim << ("%02i" % min) << ":" 
  
  
  sec = timestamp_in_msec / 1000
  timestamp_in_msec -= sec*1000
  rim << ("%02i" % sec) << ":" 
  
  rim.slice!(-1)
  rim << "," << "#{timestamp_in_msec}00"[0..2]  << date[12..-1]
end