Class: Toys::Utils::GitCache::SourceInfo

Inherits:
Object
  • Object
show all
Includes:
Comparable
Defined in:
lib/toys/utils/git_cache.rb

Overview

Information about shared source files provided from the cache.

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#git_pathString (readonly)

The path within the git repo

Returns:

  • (String)


222
223
224
# File 'lib/toys/utils/git_cache.rb', line 222

def git_path
  @git_path
end

#last_accessedTime (readonly)

The timestamp when this ref was last accessed

Returns:

  • (Time)


236
237
238
# File 'lib/toys/utils/git_cache.rb', line 236

def last_accessed
  @last_accessed
end

#shaString (readonly)

The git sha the source comes from

Returns:

  • (String)


215
216
217
# File 'lib/toys/utils/git_cache.rb', line 215

def sha
  @sha
end

#sourceString (readonly)

The path to the source file or directory

Returns:

  • (String)


229
230
231
# File 'lib/toys/utils/git_cache.rb', line 229

def source
  @source
end

Instance Method Details

#<=>(other) ⇒ Integer

Comparison function

Parameters:

Returns:

  • (Integer)


259
260
261
262
# File 'lib/toys/utils/git_cache.rb', line 259

def <=>(other)
  result = sha <=> other.sha
  result.zero? ? git_path <=> other.git_path : result
end

#to_hHash

Convert this SourceInfo to a hash suitable for JSON output

Returns:

  • (Hash)


243
244
245
246
247
248
249
250
251
# File 'lib/toys/utils/git_cache.rb', line 243

def to_h
  result = {
    "sha" => sha,
    "git_path" => git_path,
    "source" => source,
  }
  result["last_accessed"] = last_accessed.to_i if last_accessed
  result
end