Sha256: 6508517ab668550b798a19486a6801b667cef5f5b7841bbb73c26a180c8b917a

Contents?: true

Size: 610 Bytes

Versions: 10

Compression:

Stored size: 610 Bytes

Contents

# encoding: utf-8
require "app/command"

class LogStash::Api::PluginsCommand < LogStash::Api::Command

  def run
    { :total => plugins.count, :plugins => plugins }
  end

  private

  def plugins
    @plugins ||= find_plugins_gem_specs.map do |spec|
      { :name => spec.name, :version => spec.version.to_s }
    end.sort_by do |spec|
      spec[:name]
    end
  end

  def find_plugins_gem_specs
    @specs ||= Gem::Specification.find_all.select{|spec| logstash_plugin_gem_spec?(spec)}
  end

  def logstash_plugin_gem_spec?(spec)
    spec.metadata && spec.metadata["logstash_plugin"] == "true"
  end

end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
logstash-core-5.0.0.alpha3.snapshot5-java lib/logstash/api/lib/app/commands/system/plugins_command.rb
logstash-core-5.0.0.alpha3.snapshot4-java lib/logstash/api/lib/app/commands/system/plugins_command.rb
logstash-core-5.0.0.alpha3.snapshot2-java lib/logstash/api/lib/app/commands/system/plugins_command.rb
logstash-core-5.0.0.alpha3.snapshot1-java lib/logstash/api/lib/app/commands/system/plugins_command.rb
logstash-core-5.0.0.alpha2-java lib/logstash/api/lib/app/commands/system/plugins_command.rb
logstash-core-5.0.0.alpha2.snapshot2-java lib/logstash/api/lib/app/commands/system/plugins_command.rb
logstash-core-5.0.0.alpha2.snapshot1-java lib/logstash/api/lib/app/commands/system/plugins_command.rb
logstash-core-5.0.0.alpha1-java lib/logstash/api/lib/app/commands/system/plugins_command.rb
logstash-core-5.0.0.alpha1.snapshot2-java lib/logstash/api/lib/app/commands/system/plugins_command.rb
logstash-core-5.0.0.alpha1.snapshot1-java lib/logstash/api/lib/app/commands/system/plugins_command.rb