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.
22 23 24 |
# File 'lib/bundler/build_metadata.rb', line 22 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.
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/bundler/build_metadata.rb', line 27 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.
49 50 51 |
# File 'lib/bundler/build_metadata.rb', line 49 def self.release? @release end |
.to_h ⇒ Object
A hash representation of the build metadata.
13 14 15 16 17 18 19 |
# File 'lib/bundler/build_metadata.rb', line 13 def self.to_h { "Built At" => built_at, "Git SHA" => git_commit_sha, "Released Version" => release?, } end |