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