class MetadataDescriptionWebserviceClient

Parses metadata description to allow retrieval of individual definitions

Public Class Methods

new(user=WSUser.new, url=" click to toggle source
# File lib/metadata_description_webservice_client.rb, line 15
def initialize(user=WSUser.new, url="#{MIO_WS_URL}/metadataDefinitions")
  @url = url
  @user = user
  @headers = {Accept: 'application/json', 'Content-Type': 'application/vnd.nativ.mio.v1+json'}
end

Public Instance Methods

retrieve_description_by_name(name) click to toggle source

Takes name, returns definition description

@param name [String] name of parameter @

# File lib/metadata_description_webservice_client.rb, line 42
def retrieve_description_by_name(name)
  #VCR.use_cassette 'metadata definitions' do
    @response = retrieve_description_metadata['metadataDefinitions']
  #end
  @response.each do |description|
    return description if description['name'] == name
  end
end
retrieve_description_metadata() click to toggle source

REST call to get definition descriptions from Web Service. Return value can then be used to fetch individual definitions

# File lib/metadata_description_webservice_client.rb, line 23
  def retrieve_description_metadata
    info_logger :info, <<RSP
    **********************************************
    META URL: #{@url}
    META HEADERS: #{@headers}
RSP

    RestClient::Request.execute(method: :get, url: @url, timeout: 10, user: @user.username, password: @user.password, headers: @headers) do |response|
      info_logger :info, "METADATA RESPONSE: #{response}"
      @response = response
      info_logger :info, 'WS request successful: metadata description retrieved'
      JSON.parse(response)
    end
  end
retrieve_id_with_name(name) click to toggle source

Takes description name, returns ID.

# File lib/metadata_description_webservice_client.rb, line 52
def retrieve_id_with_name(name)
  retrieve_description_by_name(name)['id']
end