struct

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)
Source
new(*, __pull_for_json_serializable pull : JSON::PullParser)
Source

Class methods

parse_conventional(message : String) : Tuple(String | Nil, String | Nil, Bool)
Source

Instance methods

author
Source
author=(author : String)
Source
breaking=(breaking : Bool)
Source
breaking?
Source
conv_scope
Source
conv_scope=(conv_scope : String | Nil)
Source
conv_type
Source
conv_type=(conv_type : String | Nil)
Source
conventional?
Source
deletions
Source
deletions=(deletions : Int32)
Source
files_changed
Source
files_changed=(files_changed : Int32)
Source
hash

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.

Source
hash=(hash : String)
Source
insertions
Source
insertions=(insertions : Int32)
Source
message
Source
message=(message : String)
Source
net_churn
Source
repository
Source
repository=(repository : String)
Source
timestamp
Source
timestamp=(timestamp : Time)
Source