Method: Daru::DateTimeIndexHelper.infer_offset

Defined in:
lib/daru/date_time/index.rb

.infer_offset(data) ⇒ Object



93
94
95
96
97
98
99
100
101
102
# File 'lib/daru/date_time/index.rb', line 93

def infer_offset data
  diffs = data.each_cons(2).map { |d1, d2| d2 - d1 }

  return nil unless diffs.uniq.count == 1

  return TIME_INTERVALS[diffs.first].new if TIME_INTERVALS.include?(diffs.first)

  number_of_seconds = diffs.first / Daru::Offsets::Second.new.multiplier
  Daru::Offsets::Second.new(number_of_seconds.numerator) if number_of_seconds.denominator == 1
end