class CyberArk::Credential

Our main class definition

Public Class Methods

new(url, use_ssl=false) click to toggle source

initialize method

# File lib/cyberark_credential.rb, line 41
def initialize(url, use_ssl=false)

  @base_url = url
  @use_ssl = use_ssl

end

Public Instance Methods

base_url() click to toggle source

Custom getter method for @url class instance variable

# File lib/cyberark_credential.rb, line 19
def base_url
  @base_url
end
base_url=(url) click to toggle source

Custom setter method for @url class instance variable because we're parsing the url parameter before assigning to @url

# File lib/cyberark_credential.rb, line 26
def base_url=(url)
  @base_url = url
end
get(app_id, query) click to toggle source

Class method to make a GET request

# File lib/cyberark_credential.rb, line 49
def get(app_id, query)
  begin
    # Use our @http_object object's request method to call the
    # Net::HTTP::Get class and return the resulting response object
    fullURL = "#{@base_url}/AIMWebService/api/Accounts?AppID=#{app_id}&Query=#{query}"
    parsedURI = URI.parse(fullURL)
    http_object = Net::HTTP.new(parsedURI.host, parsedURI.port)
    http_object.use_ssl = @use_ssl
    http_object.verify_mode = OpenSSL::SSL::VERIFY_NONE
    puts parsedURI.request_uri
    request = http_object.request(Net::HTTP::Get.new(parsedURI.request_uri))
    result = JSON.parse(request.body)
    if result.key?("ErrorCode")
       raise InvalidURLError.new("#{result['ErrorCode']}-#{result['ErrorMsg']}")
    end
    result
  rescue URI::InvalidURIError
    # Raise a custom exception with a more friendly message
    raise InvalidURLError.new("#{fullURL} was not a valid URL.")
  end
end
use_ssl() click to toggle source
# File lib/cyberark_credential.rb, line 31
def use_ssl
  @use_ssl
end
use_ssl=(use_ssl) click to toggle source
# File lib/cyberark_credential.rb, line 35
def use_ssl=(use_ssl)
  @use_ssl = use_ssl
end