Class: Milestoner::Models::Commit

Inherits:
Struct
  • Object
show all
Includes:
Gitt::Directable
Defined in:
lib/milestoner/models/commit.rb

Overview

Represents an enriched commit.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeCommit

Returns a new instance of Commit.



47
48
49
50
# File 'lib/milestoner/models/commit.rb', line 47

def initialize(**)
  super
  freeze
end

Class Method Details

.for(commit) ⇒ Object



45
# File 'lib/milestoner/models/commit.rb', line 45

def self.for(commit, **) = new(**commit.to_h.slice(*COMMIT_COMMON_ATTRIBUTES), **)

Instance Method Details

#contributorsObject



52
# File 'lib/milestoner/models/commit.rb', line 52

def contributors = [author, *collaborators, *signers].tap(&:uniq!).sort_by! { it.name.to_s }