Class: PluginsController

Inherits:
ApplicationController show all
Defined in:
app/controllers/plugins_controller.rb

Instance Method Summary collapse

Instance Method Details

#bulk_upgradeObject



48
49
50
51
52
53
54
# File 'app/controllers/plugins_controller.rb', line 48

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

#indexObject



4
5
6
# File 'app/controllers/plugins_controller.rb', line 4

def index
  redirect_to installed_plugins_path
end

#installObject



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'app/controllers/plugins_controller.rb', line 20

def install
  params[:plugins].each do |gem_name|
    GemInstallerJob.perform_later(gem_name)
  end
  respond_to do |format|
    format.html do
      redirect_to plugins_path
    end
    format.json do
      plugins = PluginDecorator.decorate_collection(Plugin.recommended.select {|item| params[:plugins].include?(item.gem_name)})
      render json: plugins.map(&:to_hash).to_json
    end
  end

end

#installedObject



8
9
10
# File 'app/controllers/plugins_controller.rb', line 8

def installed
  @plugins = PluginDecorator.decorate_collection(Plugin.installed.reject{|plugin| plugin.processing? })
end


12
13
14
# File 'app/controllers/plugins_controller.rb', line 12

def recommended
  @plugins = PluginDecorator.decorate_collection(Plugin.recommended)
end

#uninstallObject



36
37
38
39
40
41
# File 'app/controllers/plugins_controller.rb', line 36

def uninstall
  params[:plugins].each do |gem_name|
    GemUninstallerJob.perform_later(gem_name)
  end
  redirect_to plugins_path
end

#updatedObject



16
17
18
# File 'app/controllers/plugins_controller.rb', line 16

def updated
  @plugins = PluginDecorator.decorate_collection(Plugin.installed.reject{|plugin| plugin.latest_version? })
end

#upgradeObject



43
44
45
46
# File 'app/controllers/plugins_controller.rb', line 43

def upgrade
  GemInstallerJob.perform_later(params[:plugins][:name], params[:plugins][:version])
  redirect_to plugins_path
end