class Logtail::Contexts::Release
@private
Attributes
commit_hash[R]
created_at[R]
version[R]
Public Class Methods
from_env()
click to toggle source
Builds a release context based on environment variables. Simply add the `RELEASE_COMMIT`, `RELEASE_CREATED_AT`, or the `RELEASE_VERSION` env vars to get this context automatially. All are optional, but at least one must be present.
If you're on Heroku, simply enable dyno metadata to get this automatically: devcenter.heroku.com/articles/dyno-metadata
# File lib/logtail/contexts/release.rb, line 17 def from_env commit_hash = ENV['RELEASE_COMMIT'] || ENV['HEROKU_SLUG_COMMIT'] created_at = ENV['RELEASE_CREATED_AT'] || ENV['HEROKU_RELEASE_CREATED_AT'] version = ENV['RELEASE_VERSION'] || ENV['HEROKU_RELEASE_VERSION'] if commit_hash || created_at || version Logtail::Config.instance.debug { "Release env vars detected, adding to context" } new(commit_hash: commit_hash, created_at: created_at, version: version) else Logtail::Config.instance.debug { "Release env vars _not_ detected" } nil end end
new(attributes)
click to toggle source
# File lib/logtail/contexts/release.rb, line 34 def initialize(attributes) @commit_hash = attributes[:commit_hash] @created_at = attributes[:created_at] @version = attributes[:version] end
Public Instance Methods
to_hash()
click to toggle source
Builds a hash representation containing simple objects, suitable for serialization (JSON).
# File lib/logtail/contexts/release.rb, line 41 def to_hash @to_hash ||= { release: Util::NonNilHashBuilder.build do |h| h.add(:commit_hash, commit_hash) h.add(:created_at, created_at) h.add(:version, version) end } end