Module: ESMDl
- Defined in:
- lib/esmdl.rb,
lib/esmdl/download.rb,
lib/esmdl/configuration.rb
Defined Under Namespace
Classes: Configuration, Download
Class Attribute Summary collapse
-
.config ⇒ Object
Returns the value of attribute config.
-
.esmversion ⇒ Object
Returns the value of attribute esmversion.
-
.prodmap ⇒ Object
Returns the value of attribute prodmap.
-
.products ⇒ Object
Returns the value of attribute products.
-
.releases ⇒ Object
Returns the value of attribute releases.
Class Method Summary collapse
Class Attribute Details
.config ⇒ Object
Returns the value of attribute config.
9 10 11 |
# File 'lib/esmdl.rb', line 9 def config @config end |
.esmversion ⇒ Object
Returns the value of attribute esmversion.
13 14 15 |
# File 'lib/esmdl.rb', line 13 def esmversion @esmversion end |
.prodmap ⇒ Object
Returns the value of attribute prodmap.
12 13 14 |
# File 'lib/esmdl.rb', line 12 def prodmap @prodmap end |
.products ⇒ Object
Returns the value of attribute products.
10 11 12 |
# File 'lib/esmdl.rb', line 10 def products @products end |
.releases ⇒ Object
Returns the value of attribute releases.
11 12 13 |
# File 'lib/esmdl.rb', line 11 def releases @releases end |
Class Method Details
.configure {|config| ... } ⇒ Object
20 21 22 |
# File 'lib/esmdl.rb', line 20 def self.configure yield(config) end |
.fetch_metadata ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/esmdl.rb', line 24 def self. 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 |