Class: ContextSpook::Generator
- Inherits:
-
Object
- Object
- ContextSpook::Generator
- Includes:
- OutputContext, VerbosePuts
- Defined in:
- lib/context_spook/generator.rb
Overview
The Generator class provides a DSL parser that interprets context definition files and constructs structured context objects containing project metadata, file contents, command outputs, and variables for AI assistance.
Defined Under Namespace
Classes: Context
Instance Attribute Summary collapse
-
#format ⇒ String
readonly
The format method returns the format identifier for the context output.
-
#token_estimator ⇒ Object
writeonly
The token_estimator attribute allows setting the logic used to estimate the number of tokens in a serialized context.
-
#verbose ⇒ TrueClass, FalseClass
readonly
The verbose method returns the verbose flag indicating whether verbose output is enabled.
Instance Method Summary collapse
-
#context(&block) ⇒ Context
The context method creates or returns a context object.
-
#initialize(verbose: false, format: nil, &block) ⇒ Generator
constructor
The initialize method sets up the object by evaluating the provided block in the object’s context.
Methods included from OutputContext
#output_context, #output_context_size
Methods included from VerbosePuts
Constructor Details
#initialize(verbose: false, format: nil, &block) ⇒ Generator
The initialize method sets up the object by evaluating the provided block in the object’s context.
89 90 91 92 93 94 95 96 97 |
# File 'lib/context_spook/generator.rb', line 89 def initialize(verbose: false, format: nil, &block) @verbose = !!verbose @format = (format || 'JSON').upcase %w[ TOON JSON ].include?(@format) or raise ArgumentError, "format needs to be either JSON or TOON, was #{@format.inspect}" self.token_estimator = ContextSpook::Utils.method(:estimate_tokens) block and instance_eval(&block) end |
Instance Attribute Details
#format ⇒ String (readonly)
The format method returns the format identifier for the context output.
71 72 73 |
# File 'lib/context_spook/generator.rb', line 71 def format @format end |
#token_estimator=(value) ⇒ Object (writeonly)
The token_estimator attribute allows setting the logic used to estimate the number of tokens in a serialized context.
It expects an object that responds to #call(text), where text is the serialized context string.
80 81 82 |
# File 'lib/context_spook/generator.rb', line 80 def token_estimator=(value) @token_estimator = value end |
#verbose ⇒ TrueClass, FalseClass (readonly)
The verbose method returns the verbose flag indicating whether verbose output is enabled.
66 67 68 |
# File 'lib/context_spook/generator.rb', line 66 def verbose @verbose end |
Instance Method Details
#context(&block) ⇒ Context
The context method creates or returns a context object.
104 105 106 107 108 109 110 111 |
# File 'lib/context_spook/generator.rb', line 104 def context(&block) if block @context and raise ArgumentError, "only one context allowed" @context = Context.new(generator: self, &block) else @context end end |