2018-11-18 11:00:15 +05:30
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
module Clusters
|
|
|
|
module Concerns
|
|
|
|
module ApplicationVersion
|
|
|
|
extend ActiveSupport::Concern
|
|
|
|
|
2021-04-29 21:17:54 +05:30
|
|
|
EXTERNAL_VERSION = 'EXTERNALLY_INSTALLED'
|
|
|
|
|
2018-11-18 11:00:15 +05:30
|
|
|
included do
|
|
|
|
state_machine :status do
|
2019-03-02 22:35:43 +05:30
|
|
|
before_transition any => [:installed, :updated] do |application|
|
2019-12-21 20:55:43 +05:30
|
|
|
application.version = application.class.const_get(:VERSION, false)
|
2018-11-18 11:00:15 +05:30
|
|
|
end
|
2021-04-29 21:17:54 +05:30
|
|
|
|
|
|
|
before_transition any => [:externally_installed] do |application|
|
|
|
|
application.version = EXTERNAL_VERSION
|
|
|
|
end
|
2018-11-18 11:00:15 +05:30
|
|
|
end
|
|
|
|
end
|
2019-03-02 22:35:43 +05:30
|
|
|
|
|
|
|
def update_available?
|
2019-12-21 20:55:43 +05:30
|
|
|
version != self.class.const_get(:VERSION, false)
|
2019-03-02 22:35:43 +05:30
|
|
|
end
|
2018-11-18 11:00:15 +05:30
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|