Class: HotwireClub::MCP::Database::ChunksRepo
- Inherits:
-
Object
- Object
- HotwireClub::MCP::Database::ChunksRepo
- Defined in:
- lib/hotwire_club/mcp/database/repositories/chunks_repo.rb
Instance Method Summary collapse
-
#by_id(chunk_id) ⇒ Hash, ...
Get a chunk by ID.
-
#search(query:, category: nil, tags: [], limit: 8) ⇒ Array
Search chunks using full-text search with optional filters.
Instance Method Details
#by_id(chunk_id) ⇒ Hash, ...
Get a chunk by ID
11 12 13 14 15 |
# File 'lib/hotwire_club/mcp/database/repositories/chunks_repo.rb', line 11 def by_id(chunk_id) return nil if chunk_id.nil? || chunk_id.empty? container.relations[:chunks].where(chunk_id: chunk_id).one end |
#search(query:, category: nil, tags: [], limit: 8) ⇒ Array
Search chunks using full-text search with optional filters
24 25 26 27 28 29 30 31 32 33 |
# File 'lib/hotwire_club/mcp/database/repositories/chunks_repo.rb', line 24 def search(query:, category: nil, tags: [], limit: 8) query = query.to_s.strip return [] if query.empty? chunks_relation = container.relations[:chunks] relation = chunks_relation.full_text_search(query) relation = apply_category_filter(relation, category) relation = (relation, ) if .any? relation.limit(limit).to_a end |