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



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.

Yields:

  • (Hash)

    streaming NDJSON events



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.



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.

Yields:

  • (Hash)

    streaming NDJSON events



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.



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