fluentd-ui/app/controllers/plugins_controller.rb
Kenji Okimoto 6cd589c4c2
Decorate plugins
Signed-off-by: Kenji Okimoto <okimoto@clear-code.com>
2018-10-04 14:07:18 +09:00

45 lines
1.1 KiB
Ruby

class PluginsController < ApplicationController
def index
redirect_to installed_plugins_path
end
def installed
@plugins = PluginDecorator.decorate_collection(Plugin.installed.reject{|plugin| plugin.processing? })
end
def recommended
@plugins = PluginDecorator.decorate_collection(Plugin.recommended)
end
def updated
@plugins = PluginDecorator.decorate_collection(Plugin.installed.reject{|plugin| plugin.latest_version? })
end
def install
params[:plugins].each do |gem_name|
GemInstallerJob.perform_later(gem_name)
end
redirect_to plugins_path
end
def uninstall
params[:plugins].each do |gem_name|
GemUninstallerJob.perform_later(gem_name)
end
redirect_to plugins_path
end
def upgrade
GemInstallerJob.perform_later(params[:plugins][:name], params[:plugins][:version])
redirect_to plugins_path
end
def bulk_upgrade
params[:plugins].each do |gem_name|
pl = Plugin.new(gem_name: gem_name)
GemInstallerJob.perform_later(gem_name, pl.latest_version)
end
redirect_to plugins_path
end
end