Class: RailsAiBridge::Serializers::Providers::GeminiSerializer

Inherits:
BaseProviderSerializer show all
Defined in:
lib/rails_ai_bridge/serializers/providers/gemini_serializer.rb

Overview

Generates GEMINI.md optimized for Gemini. In +:compact+ mode (default), produces bounded output with MCP tool references. In +:full+ mode, delegates to MarkdownSerializer with Gemini header and footer formatters.

Constant Summary

Constants inherited from BaseProviderSerializer

BaseProviderSerializer::MAX_CONFIG_FILES, BaseProviderSerializer::MAX_KEY_MODELS, BaseProviderSerializer::MAX_PATTERNS

Instance Attribute Summary

Attributes inherited from BaseProviderSerializer

#config, #context

Instance Method Summary collapse

Methods inherited from BaseProviderSerializer

#render_architecture, #render_commands, #render_compact, #render_footer, #render_header, #render_key_config_files, #render_key_considerations, #render_key_models, #render_notable_gems, #render_stack_overview

Constructor Details

#initialize(context, config: RailsAiBridge.configuration) ⇒ GeminiSerializer

Returns a new instance of GeminiSerializer.

Parameters:



12
13
14
# File 'lib/rails_ai_bridge/serializers/providers/gemini_serializer.rb', line 12

def initialize(context, config: RailsAiBridge.configuration)
  super
end

Instance Method Details

#callString

Returns Markdown written to GEMINI.md by ContextFileSerializer.

Returns:



17
18
19
20
21
22
23
24
25
# File 'lib/rails_ai_bridge/serializers/providers/gemini_serializer.rb', line 17

def call
  if @config.context_mode == :full
    MarkdownSerializer.new(context,
                           header_class: Formatters::Providers::GeminiHeaderFormatter,
                           footer_class: Formatters::Providers::GeminiFooterFormatter).call
  else
    render_compact
  end
end