Class: Git::StashInfo
- Inherits:
-
Data
- Object
- Data
- Git::StashInfo
- Defined in:
- lib/git/stash_info.rb
Overview
Immutable value object representing stash entry information
StashInfo encapsulates the parsed data from git stash list output.
Each entry contains comprehensive information about the stash including
its index, reference name, commit SHA, branch, message, and the author and
committer identities.
The author and committer are nested AuthorInfo values. Their date
is a Time parsed from git's ISO 8601 output, not an ISO 8601 string.
Instance Attribute Summary collapse
-
#author ⇒ Git::AuthorInfo
readonly
The identity of the stash author; the nested
dateis aTime. -
#branch ⇒ String?
readonly
The branch name where the stash was created, or nil for custom stash messages.
-
#committer ⇒ Git::AuthorInfo
readonly
The identity of the stash committer; the nested
dateis aTime. -
#index ⇒ Integer
readonly
The stash index (0, 1, 2, ...).
-
#message ⇒ String
readonly
The stash message (e.g., 'WIP on main: abc123 commit msg').
-
#name ⇒ String
readonly
The stash reference name (e.g., 'stash@{0\}').
-
#oid ⇒ String
readonly
The full 40-character object identifier of the stash.
-
#short_oid ⇒ String
readonly
The abbreviated object identifier (typically 7 characters).
Instance Method Summary collapse
-
#to_s ⇒ String
Returns the stash reference name.
Instance Attribute Details
#author ⇒ Git::AuthorInfo (readonly)
The identity of the stash author; the nested date is a Time.
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/git/stash_info.rb', line 82 StashInfo = Data.define( :index, :name, :oid, :short_oid, :branch, :message, :author, :committer ) do # Returns the stash reference name # # @example Convert to string # info.to_s # => 'stash@{0}' # # @return [String] the stash name (e.g., 'stash@\\{0}') def to_s name end end |
#branch ⇒ String? (readonly)
Returns the branch name where the stash was created, or nil for custom stash messages.
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/git/stash_info.rb', line 82 StashInfo = Data.define( :index, :name, :oid, :short_oid, :branch, :message, :author, :committer ) do # Returns the stash reference name # # @example Convert to string # info.to_s # => 'stash@{0}' # # @return [String] the stash name (e.g., 'stash@\\{0}') def to_s name end end |
#committer ⇒ Git::AuthorInfo (readonly)
The identity of the stash committer; the nested date is a Time.
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/git/stash_info.rb', line 82 StashInfo = Data.define( :index, :name, :oid, :short_oid, :branch, :message, :author, :committer ) do # Returns the stash reference name # # @example Convert to string # info.to_s # => 'stash@{0}' # # @return [String] the stash name (e.g., 'stash@\\{0}') def to_s name end end |
#index ⇒ Integer (readonly)
Returns the stash index (0, 1, 2, ...).
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/git/stash_info.rb', line 82 StashInfo = Data.define( :index, :name, :oid, :short_oid, :branch, :message, :author, :committer ) do # Returns the stash reference name # # @example Convert to string # info.to_s # => 'stash@{0}' # # @return [String] the stash name (e.g., 'stash@\\{0}') def to_s name end end |
#message ⇒ String (readonly)
Returns the stash message (e.g., 'WIP on main: abc123 commit msg').
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/git/stash_info.rb', line 82 StashInfo = Data.define( :index, :name, :oid, :short_oid, :branch, :message, :author, :committer ) do # Returns the stash reference name # # @example Convert to string # info.to_s # => 'stash@{0}' # # @return [String] the stash name (e.g., 'stash@\\{0}') def to_s name end end |
#name ⇒ String (readonly)
Returns the stash reference name (e.g., 'stash@{0\}').
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/git/stash_info.rb', line 82 StashInfo = Data.define( :index, :name, :oid, :short_oid, :branch, :message, :author, :committer ) do # Returns the stash reference name # # @example Convert to string # info.to_s # => 'stash@{0}' # # @return [String] the stash name (e.g., 'stash@\\{0}') def to_s name end end |
#oid ⇒ String (readonly)
Returns the full 40-character object identifier of the stash.
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/git/stash_info.rb', line 82 StashInfo = Data.define( :index, :name, :oid, :short_oid, :branch, :message, :author, :committer ) do # Returns the stash reference name # # @example Convert to string # info.to_s # => 'stash@{0}' # # @return [String] the stash name (e.g., 'stash@\\{0}') def to_s name end end |
#short_oid ⇒ String (readonly)
Returns the abbreviated object identifier (typically 7 characters).
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/git/stash_info.rb', line 82 StashInfo = Data.define( :index, :name, :oid, :short_oid, :branch, :message, :author, :committer ) do # Returns the stash reference name # # @example Convert to string # info.to_s # => 'stash@{0}' # # @return [String] the stash name (e.g., 'stash@\\{0}') def to_s name end end |
Instance Method Details
#to_s ⇒ String
Returns the stash reference name
98 99 100 |
# File 'lib/git/stash_info.rb', line 98 def to_s name end |