Class: OctaSpace::Resources::Services::SessionProxy

Inherits:
Object
  • Object
show all
Defined in:
lib/octaspace/resources/services/session_proxy.rb

Overview

Proxy object for operations on a specific service session

Obtained via: client.services.session(“uuid”)

Examples:

session = client.services.session("abc-123")
session.info
session.logs
session.stop(score: 5)

Instance Method Summary collapse

Constructor Details

#initialize(transport, uuid) ⇒ SessionProxy

Returns a new instance of SessionProxy.

Parameters:



20
21
22
23
# File 'lib/octaspace/resources/services/session_proxy.rb', line 20

def initialize(transport, uuid)
  @transport = transport
  @uuid = URI.encode_www_form_component(uuid.to_s)
end

Instance Method Details

#infoOctaSpace::Response

Fetch session details GET /services/:uuid/info

Returns:



28
29
30
# File 'lib/octaspace/resources/services/session_proxy.rb', line 28

def info
  @transport.get("/services/#{@uuid}/info")
end

#logs(recent: nil) ⇒ OctaSpace::Response

Fetch session logs GET /services/:uuid/logs

Parameters:

  • recent (Boolean, nil) (defaults to: nil)

    use the recent logs branch for finished sessions

Returns:



36
37
38
39
40
41
42
# File 'lib/octaspace/resources/services/session_proxy.rb', line 36

def logs(recent: nil)
  params = {}
  params[:recent] = true if recent
  return @transport.get("/services/#{@uuid}/logs") if params.empty?

  @transport.get("/services/#{@uuid}/logs", params:)
end

#stop(**params) ⇒ OctaSpace::Response

Stop the session POST /services/:uuid/stop

Parameters:

  • params (Hash)

    e.g. { score: 5 }

Returns:



48
49
50
# File 'lib/octaspace/resources/services/session_proxy.rb', line 48

def stop(**params)
  @transport.post("/services/#{@uuid}/stop", body: params.empty? ? nil : params)
end