Project

General

Profile

Download (1.29 KB) Statistics
| Branch: | Tag: | Revision:
e54016da Marek Hulan
module HostStatus
class BuildStatus < Status
PENDING = 1
5e1b7875 Julien Pivotto
TOKEN_EXPIRED = 2
67110766 Lukas Zapletal
BUILD_FAILED = 3
e54016da Marek Hulan
BUILT = 0

def self.status_name
N_("Build")
end

def to_label(options = {})
case to_status
when PENDING
N_("Pending installation")
5e1b7875 Julien Pivotto
when TOKEN_EXPIRED
N_("Token expired")
e54016da Marek Hulan
when BUILT
N_("Installed")
67110766 Lukas Zapletal
when BUILD_FAILED
N_("Installation error")
e54016da Marek Hulan
else
N_("Unknown build status")
end
end

5e1b7875 Julien Pivotto
def to_global(options = {})
case to_status
67110766 Lukas Zapletal
when TOKEN_EXPIRED, BUILD_FAILED
5e1b7875 Julien Pivotto
HostStatus::Global::ERROR
else
HostStatus::Global::OK
end
end

e54016da Marek Hulan
def to_status(options = {})
if waiting_for_build?
5e1b7875 Julien Pivotto
if token_expired?
TOKEN_EXPIRED
else
PENDING
end
e54016da Marek Hulan
else
67110766 Lukas Zapletal
if build_errors?
BUILD_FAILED
else
BUILT
end
e54016da Marek Hulan
end
end

294ced20 Dominic Cleal
def relevant?(options = {})
e54016da Marek Hulan
SETTINGS[:unattended] && host.managed?
end

def waiting_for_build?
b03dcd1b Michael Moll
host&.build
e54016da Marek Hulan
end
5e1b7875 Julien Pivotto
def token_expired?
b03dcd1b Michael Moll
host&.token_expired?
5e1b7875 Julien Pivotto
end
67110766 Lukas Zapletal
def build_errors?
host && host.build_errors.present?
end
e54016da Marek Hulan
end
end

HostStatus.status_registry.add(HostStatus::BuildStatus)