105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
# File 'lib/openc3/models/gem_model.rb', line 105
def self.destroy(name, log_and_raise_needed_errors: true)
gem_name, version = self.extract_name_and_version(name)
plugin_gem_names = PluginModel.gem_names
if plugin_gem_names.include?(name)
if log_and_raise_needed_errors
message = "Gem file #{name} can't be uninstalled because needed by installed plugin"
Logger.error message
raise message
end
else
begin
Gem::Uninstaller.new(gem_name, {:version => version, :force => true}).uninstall
rescue => e
Logger.error "Gem file #{name} error uninstalling\n#{e.formatted}"
raise e
end
end
end
|