Chronicle::Models::GitCommit
Inherits JSON::Serializable < Struct < Value < Object
Represents a recorded Git commit authored within a harvested timeframe, enriched with churn metrics and Conventional Commits metadata.
Constants
CONVENTIONAL_REGEX = /^(?<type>[a-zA-Z0-9_\-]+)(?:\((?<scope>[^)]+)\))?(?<breaking>!)?:\s*(?<desc>.*)$/
Constructors
new(hash : String, author : String, timestamp : Time, message : String, repository : String, files_changed : Int32 = 0, insertions : Int32 = 0, deletions : Int32 = 0, conv_type : String | Nil = nil, conv_scope : String | Nil = nil, breaking : Bool | Nil = nil)
Sourcenew(pull : JSON::PullParser)
Sourcenew(*, __pull_for_json_serializable pull : JSON::PullParser)
SourceClass methods
Instance methods
author
Sourcebreaking?
Sourceconv_scope
Sourceconv_type
Sourceconventional?
Sourcedeletions
Sourcefiles_changed
Sourcehash
Generates an UInt64 hash value for this object.
This method must have the property that a == b implies a.hash == b.hash.
The hash value is used along with == by the Hash class to determine if two objects
reference the same hash key.
Subclasses must not override this method. Instead, they must define hash(hasher),
though usually the macro def_hash can be used to generate this method.
insertions
Sourcemessage
Sourcenet_churn
Sourcerepository
Sourcetimestamp
Source