class Riffer::Rig::CLI::Sessions
Constants
- OFF
Public Class Methods
(flags: Riffer::Rig::CLI::Flags, env: Riffer::Rig::Env | Riffer::Rig::Env::Invalid, cwd: String, home: String) → void
Source
# File lib/riffer/rig/cli/sessions.rb, line 18 def initialize(flags:, env:, cwd:, home:) @flags = flags @env = env @cwd = cwd @home = home @store = flags.save ? Riffer::Rig::Stores::JSONL.new(home: home) : nil @loaders = {} end
@rbs flags: Riffer::Rig::CLI::Flags @rbs env: Riffer::Rig::Env | Riffer::Rig::Env::Invalid @rbs cwd: String @rbs home: String @rbs return: void
Public Instance Methods
() → bool
Source
# File lib/riffer/rig/cli/sessions.rb, line 78 def asked? resume_id ? true : @flags.continue end
@rbs return: bool
(Riffer::Rig::Hosts::_Host host, String id) → void
Source
# File lib/riffer/rig/cli/sessions.rb, line 73 def delete(host, id) loader(host).delete(id) end
@rbs host: Riffer::Rig::Hosts::_Host @rbs id: String @rbs return: void
(Riffer::Rig::Hosts::_Host host) → Riffer::Rig::Runtime?
Source
# File lib/riffer/rig/cli/sessions.rb, line 29 def find(host) id = resume_id if id resume(host, id) elsif @flags.continue loader(host).continue(@flags.to_options) end end
@rbs host: Riffer::Rig::Hosts::_Host @rbs return: Riffer::Rig::Runtime?
(Riffer::Rig::Hosts::_Host host) → Riffer::Rig::Runtime
Source
# File lib/riffer/rig/cli/sessions.rb, line 40 def fresh(host) loader(host).runtime(@flags.to_options) end
@rbs host: Riffer::Rig::Hosts::_Host @rbs return: Riffer::Rig::Runtime
(Riffer::Rig::Hosts::_Host host, ?all: bool) → Array[::Riffer::Rig::Terminal::Session]
Source
# File lib/riffer/rig/cli/sessions.rb, line 62 def list(host, all: false) loader(host) .list(all: all) # The id breaks mtime ties so the rows never shuffle under sort_by. .sort_by { |header| [header.updated ? -header.updated.to_f : 0.0, header.id] } .map { |header| row(header) } end
@rbs host: Riffer::Rig::Hosts::_Host @rbs all: bool @rbs return: Array
(?String? id) → String
Source
# File lib/riffer/rig/cli/sessions.rb, line 100 def missing(id = nil) id ||= resume_id off || (id ? gone(id) || "No saved session #{id}." : 'No saved session in this directory.') end
@rbs id: String? @rbs return: String
() → bool
Source
# File lib/riffer/rig/cli/sessions.rb, line 83 def missing? return false unless asked? store = @store return true unless store id = resume_id id ? store.read(id).empty? || !gone(id).nil? : store.list(cwd: @cwd).empty? end
@rbs return: bool
() → String?
Source
# File lib/riffer/rig/cli/sessions.rb, line 94 def off OFF unless @store end
@rbs return: String?
(String id) → Array[Riffer::Rig::Stores::MessageEntry]
Source
# File lib/riffer/rig/cli/sessions.rb, line 54 def recorded(id) entries = @store&.read(id) || [] entries.grep(Riffer::Rig::Stores::MessageEntry) #: Array[Riffer::Rig::Stores::MessageEntry] end
@rbs id: String @rbs return: Array
(Riffer::Rig::Hosts::_Host host, String id) → Riffer::Rig::Runtime?
Source
# File lib/riffer/rig/cli/sessions.rb, line 47 def resume(host, id) cwd = saved_cwd(id) || @cwd loader(host, cwd).resume(id, @flags.to_options) if File.directory?(cwd) end
@rbs host: Riffer::Rig::Hosts::_Host @rbs id: String @rbs return: Riffer::Rig::Runtime?