lib/op_connect/client.rb in op_connect-0.1.1 vs lib/op_connect/client.rb in op_connect-0.1.2

- old
+ new

@@ -1,6 +1,8 @@ module OpConnect + # Client for the OpConnect API. + # class Client autoload :Vaults, "op_connect/client/vaults" autoload :Items, "op_connect/client/items" autoload :Files, "op_connect/client/files" @@ -15,30 +17,59 @@ value = options.key?(key) ? options[key] : OpConnect.instance_variable_get(:"@#{key}") instance_variable_set(:"@#{key}", value) end end + # Text representation of the client, masking tokens. + # + # @return [String] + # def inspect inspected = super inspected.gsub!(@access_token, ("*" * 24).to_s) if @access_token inspected end + # Retrieve a list of API requests that have been made. + # + # @param params [Hash] Optional parameters. + # @option params [Integer] :limit How many API Events should be returned + # in a single request. + # @option params [Integer] :offset How far into the collection of API + # Events should the response start. + # + # @return [Array<APIRequest>] + # def activity(**params) get("activity", params: params).body.map { |a| APIRequest.new(a) } end + # Simple "ping" endpoint to check whether the server is active. + # + # @return [Boolean] Returns true if the server is active, false otherwise. + # def heartbeat return true if get("/heartbeat").status == 200 false rescue OpConnect::Error false end + # Query the state of the server and its service dependencies. + # + # @return [ServerHealth] Returns a `ServerHealth` object. + # def health ServerHealth.new get("/health").body end + # Returns Prometheus metrics collected by the server. + # + # @return [String] Returns a plain text list of Prometheus metrics. + # + # @see https://prometheus.io/docs/instrumenting/exposition_formats/#text-based-format + # Prometheus documentation + # def metrics get("/metrics").body end end end