class CommitTime

Attributes

average_time[R]
commits[R]
datetimes[R]
times[R]

Array of times for between each commit, in minutes

total_time[R]

Public Class Methods

new(datetimes) click to toggle source
# File lib/commit-time.rb, line 11
def initialize(datetimes)
  @datetimes = datetimes
  @times = datetimes.each_cons(2).map { |a, b| ((a - b).abs * 24 * 60).round.to_i }
  @commits = datetimes.count

  real_times = @times.find_all { |time| time < 60 }
  @average_time =
    if real_times.empty?
      0
    else
      real_times.reduce(:+).to_f / real_times.count
    end
  @total_time = @average_time * @commits
end

Public Instance Methods

marshal_dump() click to toggle source
# File lib/commit-time.rb, line 26
def marshal_dump
  [@datetimes, @times, @commits, @average_time, @total_time]
end
marshal_load(array) click to toggle source
# File lib/commit-time.rb, line 30
def marshal_load array
  @datetimes, @times, @commits, @average_time, @total_time = array
end