class OracleHcm::Client
Attributes
endpoint[R]
password[R]
username[R]
Public Class Methods
new(endpoint, username, password)
click to toggle source
# File lib/oracle_hcm/client.rb, line 11 def initialize(endpoint, username, password) @endpoint = endpoint @username = username @password = password end
resource(method, resource:, url: resource.resource_name)
click to toggle source
Sugar syntax for defining top-level resources
# File lib/oracle_hcm/client.rb, line 18 def self.resource(method, resource:, url: resource.resource_name) define_method(method) do |offset: 0, limit: 20, q: []| if !q.is_a?(Array) q = [q] end res = connection.get do |req| req.url url req.params["offset"] = offset req.params["limit"] = limit if q.any? req.params["q"] = q.join(";") end end if res.success? ResourceList.new(JSON.parse(res.body), offset, limit, method, resource, self) else nil end end end
Public Instance Methods
base_url()
click to toggle source
# File lib/oracle_hcm/client.rb, line 54 def base_url "#{endpoint}/hcmRestApi/resources/11.13.18.05" end
connection()
click to toggle source
Get an authenticated Faraday connection using given credentials.
# File lib/oracle_hcm/client.rb, line 59 def connection Faraday.new(url: base_url) do |conn| conn.basic_auth(username, password) end end
document_record(id:)
click to toggle source
Retrieve a single document record resource by DocumentsOfRecordId
# File lib/oracle_hcm/client.rb, line 50 def document_record(id:) document_records(q: "DocumentsOfRecordId=#{id}").items.first end
worker(id:)
click to toggle source
Retrieve a single worker resource by PersonId
# File lib/oracle_hcm/client.rb, line 45 def worker(id:) workers(q: "PersonId=#{id}").items.first end