class OpenSource::LicensesAPI

Public Class Methods

new(base_url: 'https://api.opensource.org') click to toggle source
# File lib/opensource/license.rb, line 7
def initialize(base_url: 'https://api.opensource.org')
  @base_url = base_url
end

Public Instance Methods

all() click to toggle source
# File lib/opensource/license.rb, line 11
def all
  request 'licenses/'
end
get(id) click to toggle source
# File lib/opensource/license.rb, line 19
def get(id)
  request "license/#{id}"
end
tagged(tag) click to toggle source
# File lib/opensource/license.rb, line 15
def tagged(tag)
  request "licenses/#{tag}"
end

Private Instance Methods

request(resource) click to toggle source
# File lib/opensource/license.rb, line 25
def request(resource)
  response = Net::HTTP.get_response URI "#{@base_url}/#{resource}"
  raise KeyError, "Resource not found: #{resource}" unless response.is_a? Net::HTTPOK
  JSON.parse(response.body).map { |o| Hashie::Mash.new o }
end