Module: Kaui::PluginHelper

Defined in:
app/helpers/kaui/plugin_helper.rb

Instance Method Summary collapse

Instance Method Details

#plugin_repositoryObject

including plugin that are installed



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'app/helpers/kaui/plugin_helper.rb', line 4

def plugin_repository
  plugins = []
  plugin_repository = Kaui::AdminTenant::get_plugin_repository
  installed_plugins = installed_plugins()

  plugin_repository.each_pair do |key, info|
    found_plugin = installed_plugins.reject! { |p| p.plugin_key.eql?(key.to_s) }
    plugins << {
        plugin_key: plugin_key(key.to_s, info),
        plugin_name: plugin_name(key.to_s, info),
        plugin_type: info[:type],
        installed: !found_plugin.nil?
    }
  end

  installed_plugins.each do |plugin|
    plugins << {
        plugin_key: plugin.plugin_key,
        plugin_name: plugin.plugin_name,
        plugin_type: nil,
        installed: true
    }
  end

  plugins.sort! { |a,b| a[:plugin_key] <=> b[:plugin_key] && b[:installed].to_s <=> a[:installed].to_s }
  plugins
end