Class: Prdigest::DayDigest
- Inherits:
-
Data
- Object
- Data
- Prdigest::DayDigest
- Defined in:
- lib/prdigest/digest.rb
Instance Attribute Summary collapse
-
#date ⇒ Object
readonly
Returns the value of attribute date.
-
#line_stats ⇒ Object
readonly
Returns the value of attribute line_stats.
-
#repositories ⇒ Object
readonly
Returns the value of attribute repositories.
Class Method Summary collapse
Instance Method Summary collapse
Instance Attribute Details
#date ⇒ Object (readonly)
Returns the value of attribute date
27 28 29 |
# File 'lib/prdigest/digest.rb', line 27 def date @date end |
#line_stats ⇒ Object (readonly)
Returns the value of attribute line_stats
27 28 29 |
# File 'lib/prdigest/digest.rb', line 27 def line_stats @line_stats end |
#repositories ⇒ Object (readonly)
Returns the value of attribute repositories
27 28 29 |
# File 'lib/prdigest/digest.rb', line 27 def repositories @repositories end |
Class Method Details
.build(date:, repository_order:, pulls:, line_stats: false) ⇒ Object
28 29 30 31 32 33 34 35 |
# File 'lib/prdigest/digest.rb', line 28 def self.build(date:, repository_order:, pulls:, line_stats: false) grouped = pulls.group_by(&:repository) sections = repository_order.map do |name| sorted = Array(grouped[name]).sort_by { |pull| [pull.merged_at, pull.number] }.freeze RepositoryDigest.new(name.to_s.freeze, sorted) end.freeze new(Date.iso8601(date.to_s), sections, line_stats == true) end |
Instance Method Details
#total_additions ⇒ Object
41 42 43 |
# File 'lib/prdigest/digest.rb', line 41 def total_additions stat_total(:additions) end |
#total_commits ⇒ Object
49 50 51 |
# File 'lib/prdigest/digest.rb', line 49 def total_commits stat_total(:commits) end |
#total_deletions ⇒ Object
45 46 47 |
# File 'lib/prdigest/digest.rb', line 45 def total_deletions stat_total(:deletions) end |
#total_prs ⇒ Object
37 38 39 |
# File 'lib/prdigest/digest.rb', line 37 def total_prs repositories.sum { |section| section.pull_requests.length } end |