1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
# 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
|