Sha256: b66809166a628644ec47f7d64297377c3f6f95d98f7412012314a62ac8efa183

Contents?: true

Size: 862 Bytes

Versions: 21

Compression:

Stored size: 862 Bytes

Contents

require 'excon'
require 'json'

module Kontena
  class PluginManager
    class RubygemsClient

      RUBYGEMS_URL = 'https://rubygems.org'
      HEADERS = {
        'Content-Type' => 'application/json',
        'Accept' => 'application/json'
      }

      attr_reader :client

      def initialize
        @client = Excon.new(RUBYGEMS_URL)
      end

      def search(pattern = nil)
        response = client.get(
          path: "/api/v1/search.json?query=#{pattern}",
          headers: HEADERS
        )

        JSON.parse(response.body)
      end

      def versions(gem_name)
        response = client.get(
          path: "/api/v1/versions/#{gem_name}.json",
          headers: HEADERS
        )
        versions = JSON.parse(response.body)
        versions.map { |version| Gem::Version.new(version["number"]) }.sort.reverse
      end

    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
kontena-cli-1.3.5 lib/kontena/plugin_manager/rubygems_client.rb
kontena-cli-1.3.5.rc1 lib/kontena/plugin_manager/rubygems_client.rb
kontena-cli-1.4.0.pre6 lib/kontena/plugin_manager/rubygems_client.rb
kontena-cli-1.4.0.pre5 lib/kontena/plugin_manager/rubygems_client.rb
kontena-cli-1.4.0.pre4 lib/kontena/plugin_manager/rubygems_client.rb
kontena-cli-1.4.0.pre3 lib/kontena/plugin_manager/rubygems_client.rb
kontena-cli-1.4.0.pre2 lib/kontena/plugin_manager/rubygems_client.rb
kontena-cli-1.4.0.pre1 lib/kontena/plugin_manager/rubygems_client.rb
kontena-cli-1.3.4 lib/kontena/plugin_manager/rubygems_client.rb
kontena-cli-1.3.4.rc1 lib/kontena/plugin_manager/rubygems_client.rb
kontena-cli-1.3.3 lib/kontena/plugin_manager/rubygems_client.rb
kontena-cli-1.3.3.rc1 lib/kontena/plugin_manager/rubygems_client.rb
kontena-cli-1.3.2 lib/kontena/plugin_manager/rubygems_client.rb
kontena-cli-1.3.2.rc2 lib/kontena/plugin_manager/rubygems_client.rb
kontena-cli-1.3.2.rc1 lib/kontena/plugin_manager/rubygems_client.rb
kontena-cli-1.3.1 lib/kontena/plugin_manager/rubygems_client.rb
kontena-cli-1.3.1.rc2 lib/kontena/plugin_manager/rubygems_client.rb
kontena-cli-1.3.1.rc1 lib/kontena/plugin_manager/rubygems_client.rb
kontena-cli-1.3.0 lib/kontena/plugin_manager/rubygems_client.rb
kontena-cli-1.3.0.rc4 lib/kontena/plugin_manager/rubygems_client.rb