module Unwrappr::RubyGems

A wrapper around RubyGems' API

Constants

GET_GEM
SERVER

Public Class Methods

gem_info(name, version) click to toggle source
# File lib/unwrappr/ruby_gems.rb, line 12
def gem_info(name, version)
  parse(Faraday.get(SERVER + format(GET_GEM, name, version)), name)
end

Private Class Methods

error_message(response:, name:) click to toggle source
# File lib/unwrappr/ruby_gems.rb, line 29
def error_message(response:, name:)
  "Rubygems response for #{name}: "\
    "HTTP #{response.status}: #{response.body}"
end
parse(response, name) click to toggle source
# File lib/unwrappr/ruby_gems.rb, line 18
def parse(response, name)
  case response.status
  when 200
    JSON.parse(response.body, object_class: OpenStruct)
  when 404
    nil
  else
    warn(error_message(response: response, name: name))
  end
end