module ESMDl
Attributes
config[RW]
esmversion[RW]
prodmap[RW]
products[RW]
releases[RW]
Public Class Methods
configure() { |config| ... }
click to toggle source
# File lib/esmdl.rb, line 20 def self.configure yield(config) end
fetch_metadata()
click to toggle source
# File lib/esmdl.rb, line 24 def self.fetch_metadata r = nil uri = URI(config.base_url + "/releaseservices/AvailableReleases?esmversion=#{config.esmversion}") Net::HTTP.start(uri.host, uri.port, use_ssl: true, ciphers: "TLSv1.2:!aNULL:!eNULL", ssl_version: "TLSv1_2") do |http| request = Net::HTTP::Get.new uri.request_uri request.basic_auth config.username, config.password response = http.request request if response.code != '200' raise "Problem fetching ESM metadata: #{response.body}" end r = JSON.parse(response.body) end @products = {} @codemap = {} r['prodCodeMap'].split("\n").each do |line| a = line.split(',') @codemap[a[1]] = a[2] end r['clientLicensedProducts'].sort.each do |p| @products[p] = @codemap[p] end @releases = r['available'] end