Module: Bundler::BuildMetadata
- Defined in:
- lib/bundler/build_metadata.rb
Overview
Represents metadata from when the Bundler gem was built.
Class Method Summary collapse
-
.built_at ⇒ Object
A string representing the date the bundler gem was built.
-
.git_commit_sha ⇒ Object
The SHA for the git commit the bundler gem was built from.
-
.release? ⇒ Boolean
Whether this is an official release build of Bundler.
-
.to_h ⇒ Object
A hash representation of the build metadata.
Class Method Details
.built_at ⇒ Object
A string representing the date the bundler gem was built.
20 21 22 |
# File 'lib/bundler/build_metadata.rb', line 20 def self.built_at @built_at ||= Time.now.utc.strftime("%Y-%m-%d").freeze end |
.git_commit_sha ⇒ Object
The SHA for the git commit the bundler gem was built from.
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/bundler/build_metadata.rb', line 25 def self.git_commit_sha return @git_commit_sha if instance_variable_defined? :@git_commit_sha # If Bundler has been installed without its .git directory and without a # commit instance variable then we can't determine its commits SHA. git_dir = File.join(File.("../../..", __FILE__), ".git") if File.directory?(git_dir) return @git_commit_sha = Dir.chdir(git_dir) { `git rev-parse --short HEAD`.strip.freeze } end # If Bundler is a submodule in RubyGems, get the submodule commit git_sub_dir = File.join(File.("../../../..", __FILE__), ".git") if File.directory?(git_sub_dir) return @git_commit_sha = Dir.chdir(git_sub_dir) do `git ls-tree --abbrev=8 HEAD bundler`.split(/\s/).fetch(2, "").strip.freeze end end @git_commit_sha ||= "unknown" end |
.release? ⇒ Boolean
Whether this is an official release build of Bundler.
47 48 49 |
# File 'lib/bundler/build_metadata.rb', line 47 def self.release? @release end |
.to_h ⇒ Object
A hash representation of the build metadata.
11 12 13 14 15 16 17 |
# File 'lib/bundler/build_metadata.rb', line 11 def self.to_h { "Built At" => built_at, "Git SHA" => git_commit_sha, "Released Version" => release?, } end |