gitlab-org--gitlab-foss/app/models/clusters/concerns/application_version.rb

27 lines
678 B
Ruby

# frozen_string_literal: true
module Clusters
module Concerns
module ApplicationVersion
extend ActiveSupport::Concern
EXTERNAL_VERSION = 'EXTERNALLY_INSTALLED'
included do
state_machine :status do
before_transition any => [:installed, :updated] do |application|
application.version = application.class.const_get(:VERSION, false)
end
before_transition any => [:externally_installed] do |application|
application.version = EXTERNAL_VERSION
end
end
end
def update_available?
version != self.class.const_get(:VERSION, false)
end
end
end
end