Module: Ace::PromptPrep::Atoms::SessionIdGenerator
- Defined in:
- lib/ace/prompt_prep/atoms/session_id_generator.rb
Overview
Generates Base36 compact IDs for prompt archiving
Uses ace-b36ts to generate 6-character compact IDs (e.g., “i50jj3”) These IDs serve as session identifiers for archived prompts
Class Method Summary collapse
-
.call(time: nil) ⇒ Hash
Generate Base36 ID for current time.
-
.valid?(value) ⇒ Boolean
Check if a string is a valid Base36 ID.
Class Method Details
.call(time: nil) ⇒ Hash
Note:
Time is expected to be in UTC for consistent ID generation
Generate Base36 ID for current time
18 19 20 21 22 23 |
# File 'lib/ace/prompt_prep/atoms/session_id_generator.rb', line 18 def self.call(time: nil) time ||= Time.now.utc { timestamp: Ace::B36ts.encode(time) } end |
.valid?(value) ⇒ Boolean
Check if a string is a valid Base36 ID
29 30 31 32 33 |
# File 'lib/ace/prompt_prep/atoms/session_id_generator.rb', line 29 def self.valid?(value) return false unless value.is_a?(String) Ace::B36ts.valid?(value) end |