generate_embedded_plugins

in lib/logstash-docket/artifact_plugin.rb [161:177]


    def generate_embedded_plugins
      gem_data_version = version || repository.rubygem_info.latest
      gem_data_version || fail("No releases on rubygems")

      rubygem_info = repository.rubygem_info.for_version(gem_data_version) || fail("[#{desc}]: no gem data available")

      embedded_plugin_canonical_names_csv = rubygem_info.dig('metadata','integration_plugins')
      return EMPTY if embedded_plugin_canonical_names_csv.nil?

      embedded_plugin_canonical_names_csv.split(',').map(&:strip).map do |wrapped_canonical_name|
        if wrapped_canonical_name !~ %r{\Alogstash-(?<type>[a-z]+)-(?<name>.*)}
          fail(ArgumentError "unsupported plugin name `#{canonical_name}`")
        end
        EmbeddedPlugin.new(artifact_plugin: self, type: Regexp.last_match(:type), name: Regexp.last_match(:name))
      end.freeze
    end