class Ops::Revision
Attributes
environment[R]
file_root[R]
Public Class Methods
new(new_headers = {}, opts = Ops.config)
click to toggle source
# File lib/ops/revision.rb, line 7 def initialize(new_headers = {}, opts = Ops.config) @file_root = opts.file_root.to_s # convert to string in case they pass us a Pathname @environment = opts.environment @headers = new_headers end
Public Instance Methods
headers()
click to toggle source
# File lib/ops/revision.rb, line 15 def headers @headers.select { |k, v| k.match(/^[-A-Z_].*$/) } end
info()
click to toggle source
# File lib/ops/revision.rb, line 19 def info @info ||= build_info.merge(deploy_info) end
previous_info()
click to toggle source
# File lib/ops/revision.rb, line 23 def previous_info @previous_info ||= previous_build_info.merge(previous_deploy_info) end
Private Instance Methods
build_info()
click to toggle source
# File lib/ops/revision.rb, line 29 def build_info info_from_file('BUILD-INFO') end
deploy_info()
click to toggle source
# File lib/ops/revision.rb, line 37 def deploy_info info_from_file('DEPLOY-INFO') end
file_exists?(file_name)
click to toggle source
# File lib/ops/revision.rb, line 57 def file_exists?(file_name) File.exist?(File.join(file_root, file_name)) end
info_from_file(name)
click to toggle source
# File lib/ops/revision.rb, line 45 def info_from_file(name) if file_exists?(name) parse_info_file(name) else {name.downcase.gsub('-', '_') => "No #{name} file found"} end end
parse_info_file(filename)
click to toggle source
# File lib/ops/revision.rb, line 53 def parse_info_file(filename) YAML.safe_load(File.read(File.join(file_root, filename))) if file_exists?(filename) end
previous_build_info()
click to toggle source
# File lib/ops/revision.rb, line 33 def previous_build_info info_from_file('PREVIOUS-BUILD-INFO') end
previous_deploy_info()
click to toggle source
# File lib/ops/revision.rb, line 41 def previous_deploy_info info_from_file('PREVIOUS-DEPLOY-INFO') end