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