devroom.io/content/post/2012-04-02-showing-ruby-rails-and-git-info-in-your-app.md
2019-01-13 15:57:47 +01:00

64 lines
1.7 KiB
Markdown

+++
date = "2012-04-02"
title = "Showing Ruby, Rails and git info in your app"
tags = ["Ruby", "Rails", "protip"]
slug = "showing-ruby-rails-and-git-info-in-your-app"
+++
Some people've asked me how I show rendering information on [ariejan.net](http://ariejan.net).
![](https://ariejannet.s3.amazonaws.com/images/render_stats.jpg)
There are a few things going on here, let me explain them one by one.
### Rails version
The current Rails version is probably the easiest you see here. Rails exposes its version information like this:
Rails.version
### Ruby version
Ruby also exposes version information, albeit using constants:
RUBY_VERSION
=> "1.9.3"
You may know that ruby also has different patch levels for each release. You can also retrieve that information:
RUBY_PATCHLEVEL
=> 125
The you may also want to know which engine you're using. This may be "ruby" or something different:
RUBY_ENGINE
=> "ruby"
Combine these to get a sexy ruby version string:
puts "#{RUBY_ENGINE}-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"
=> "ruby-1.9.3-p125"
### Current process ID
I like to know which Unicorn produced a certain page. Retrieving the process ID is easy:
Process.pid
=> 9473
### Current git revision SHA
Knowing which version of your app is currently running can be useful information. To do this I created the following initializer:
# config/initializers/git_revision.rb
module AppName
REVISION = `git log --pretty=format:'%h' -n 1`
end
This will expose the current short SHA in your application's namespace:
AppName::REVISION
=> "ac6d3a0"
You can now use this info through-out your app to show version information.