class Hippo::DeploymentMonitor
Public Class Methods
new(stage, deployment_id, sleep: 4, count: 15)
click to toggle source
# File lib/hippo/deployment_monitor.rb, line 5 def initialize(stage, deployment_id, sleep: 4, count: 15) @stage = stage @deployment_id = deployment_id @sleep = sleep @count = count end
Public Instance Methods
on_failure(&block)
click to toggle source
# File lib/hippo/deployment_monitor.rb, line 16 def on_failure(&block) @on_failure = block end
on_success(&block)
click to toggle source
# File lib/hippo/deployment_monitor.rb, line 20 def on_success(&block) @on_success = block end
on_wait(&block)
click to toggle source
# File lib/hippo/deployment_monitor.rb, line 12 def on_wait(&block) @on_wait = block end
wait()
click to toggle source
# File lib/hippo/deployment_monitor.rb, line 24 def wait count = 0 loop do sleep @sleep poll = Poll.new(@stage, @deployment_id) if poll.pending.empty? @on_success&.call(poll) return true else if count >= @count @on_failure&.call(poll) return false else count += 1 @on_wait&.call(poll) end end end end