module Metrics

Constants

DATA_FILE

Public Instance Methods

data_in_year(year) click to toggle source
# File lib/metrics.rb, line 17
def data_in_year(year)
  return release_data.select { |release_array| release_year(release_array) == year }
end
foss_releases_in_year(year) click to toggle source
# File lib/metrics.rb, line 45
def foss_releases_in_year(year)
  return releases_in_year(year) - pe_releases_in_year(year)
end
pe_releases_in_year(year) click to toggle source
# File lib/metrics.rb, line 41
def pe_releases_in_year(year)
  return releases_of_project_in_year(year, 'Puppet Enterprise')
end
release_data() click to toggle source
# File lib/metrics.rb, line 8
def release_data
  return CSV.read(DATA_FILE)
end
release_year(release_array) click to toggle source
# File lib/metrics.rb, line 12
def release_year(release_array)
  date_string = release_array.first
  return date_string.split('/').last
end
releases_in_year(year) click to toggle source
# File lib/metrics.rb, line 21
def releases_in_year(year)
  return data_in_year(year).count
end
releases_of_project_in_year(year, project) click to toggle source
# File lib/metrics.rb, line 36
def releases_of_project_in_year(year, project)
  project_releases = data_in_year(year).select { |release_array| release_array.include? project }
  return project_releases.count
end
releases_per_day_in_year(year) click to toggle source
# File lib/metrics.rb, line 25
def releases_per_day_in_year(year)
  # use a decimal so that division includes the decimal
  days_in_year = 365.0
  days_in_year = 366.0 if Date.new(year.to_i).leap?
  return releases_in_year(year) / days_in_year
end
releases_per_week_in_year(year) click to toggle source
# File lib/metrics.rb, line 32
def releases_per_week_in_year(year)
  return releases_per_day_in_year(year) * 7
end