class DeployState

Constants

ROOT_KEY

Public Class Methods

[](server, target) click to toggle source
# File lib/bub_bot/deploy_manager.rb, line 90
def self.[](server, target)
  (@_deploy_states ||= {})[key(server, target)] ||= DeployState.new(server, target)
end
key(server, target) click to toggle source
# File lib/bub_bot/deploy_manager.rb, line 94
def self.key(server, target)
  "#{server}__#{target}"
end
new(server, target) click to toggle source
# File lib/bub_bot/deploy_manager.rb, line 98
def initialize(server, target)
  @server = server
  @target = target
end

Public Instance Methods

deploying?() click to toggle source
# File lib/bub_bot/deploy_manager.rb, line 107
def deploying?
  deployed_at = redis.hget(ROOT_KEY, key)

  # If we have a super-old deployed_at, assume something went wrong in the
  # deploy and we failed to capture that.
  return deployed_at && Time.parse(deployed_at) > 30.minutes.ago
end
key() click to toggle source
# File lib/bub_bot/deploy_manager.rb, line 103
def key
  self.class.key(@server, @target)
end
redis() click to toggle source
# File lib/bub_bot/deploy_manager.rb, line 124
def redis
  BubBot::RedisConnection.instance
end
set(is_deploying) click to toggle source
# File lib/bub_bot/deploy_manager.rb, line 115
def set(is_deploying)
  puts "set deploying to #{is_deploying} for #{key}"
  if is_deploying
    redis.hset(ROOT_KEY, key, Time.now)
  else
    redis.hdel(ROOT_KEY, key)
  end
end