Module: Metrics
- Defined in:
- lib/metrics.rb
Constant Summary collapse
- DATA_FILE =
'releases.csv'
Class Method Summary collapse
- .data_in_year(year) ⇒ Object
- .foss_releases_in_year(year) ⇒ Object
- .pe_releases_in_year(year) ⇒ Object
- .release_data ⇒ Object
- .release_year(release_array) ⇒ Object
- .releases_in_year(year) ⇒ Object
- .releases_of_project_in_year(year, project) ⇒ Object
- .releases_per_day_in_year(year) ⇒ Object
- .releases_per_week_in_year(year) ⇒ Object
Class Method Details
.data_in_year(year) ⇒ Object
17 18 19 |
# 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) ⇒ Object
45 46 47 |
# 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) ⇒ Object
41 42 43 |
# File 'lib/metrics.rb', line 41 def pe_releases_in_year(year) return releases_of_project_in_year(year, 'Puppet Enterprise') end |
.release_data ⇒ Object
8 9 10 |
# File 'lib/metrics.rb', line 8 def release_data return CSV.read(DATA_FILE) end |
.release_year(release_array) ⇒ Object
12 13 14 15 |
# 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) ⇒ Object
21 22 23 |
# 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) ⇒ Object
36 37 38 39 |
# 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) ⇒ Object
25 26 27 28 29 30 |
# 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) ⇒ Object
32 33 34 |
# File 'lib/metrics.rb', line 32 def releases_per_week_in_year(year) return releases_per_day_in_year(year) * 7 end |