Class: Sprites::Resources::Checkpoints

Inherits:
Object
  • Object
show all
Defined in:
lib/sprites/resources/checkpoints.rb

Overview

Checkpoint operations for sprite snapshots.

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ Checkpoints

Returns a new instance of Checkpoints.



7
8
9
# File 'lib/sprites/resources/checkpoints.rb', line 7

def initialize(client)
  @client = client
end

Instance Method Details

#create(sprite_name, comment: nil) {|Hash| ... } ⇒ Array<Hash>

Create a new checkpoint.

Parameters:

  • sprite_name (String) —

    sprite name

  • comment (String, nil) (defaults to: nil) —

    optional comment

Yields:

  • (Hash) —

    streaming NDJSON events

Returns:

  • (Array<Hash>) —

    all events if no block given



34
35
36
# File 'lib/sprites/resources/checkpoints.rb', line 34

def create(sprite_name, comment: nil, &block)
  @client.post_stream("/v1/sprites/#{sprite_name}/checkpoint", { comment: }, &block)
end

#list(sprite_name) ⇒ Array<Hash>

List all checkpoints for a sprite.

Parameters:

  • sprite_name (String) —

    sprite name

Returns:

  • (Array<Hash>) —

    checkpoints



15
16
17
# File 'lib/sprites/resources/checkpoints.rb', line 15

def list(sprite_name)
  @client.get("/v1/sprites/#{sprite_name}/checkpoints")
end

#restore(sprite_name, checkpoint_id) {|Hash| ... } ⇒ Array<Hash>

Restore a sprite to a checkpoint.

Parameters:

  • sprite_name (String) —

    sprite name

  • checkpoint_id (String) —

    checkpoint ID

Yields:

  • (Hash) —

    streaming NDJSON events

Returns:

  • (Array<Hash>) —

    all events if no block given



44
45
46
# File 'lib/sprites/resources/checkpoints.rb', line 44

def restore(sprite_name, checkpoint_id, &block)
  @client.post_stream("/v1/sprites/#{sprite_name}/checkpoints/#{checkpoint_id}/restore", {}, &block)
end

#retrieve(sprite_name, checkpoint_id) ⇒ Hash

Retrieve a checkpoint by ID.

Parameters:

  • sprite_name (String) —

    sprite name

  • checkpoint_id (String) —

    checkpoint ID

Returns:

  • (Hash) —

    checkpoint details



24
25
26
# File 'lib/sprites/resources/checkpoints.rb', line 24

def retrieve(sprite_name, checkpoint_id)
  @client.get("/v1/sprites/#{sprite_name}/checkpoints/#{checkpoint_id}")
end