class Ellipses::Server::Repository
Constants
- Error
Attributes
global[R]
root[R]
symbols[R]
Public Class Methods
new(symbols:, global:, directory:)
click to toggle source
# File lib/ellipses/server/repository.rb, line 12 def initialize(symbols:, global:, directory:) @symbols = symbols @global = global @root = global.root ? ::File.join(directory, global.root) : directory @consumed = Set.new end
Private Class Methods
load(directory)
click to toggle source
# File lib/ellipses/server/repository.rb, line 40 def load(directory) meta = (meta_file = MetaFile.new(directory)).read new symbols: Symbols.new(meta.symbols), global: meta.global, directory: meta_file.directory end
Public Instance Methods
[](string)
click to toggle source
# File lib/ellipses/server/repository.rb, line 19 def [](string) (chunks = []).tap do symbols.resolve(string).each { |symbol| yield_symbol(chunks, symbol) } next unless chunks.empty? raise Error, "No chunks resolved for symbol: #{string}, which may already have been consumed" end end
Private Instance Methods
yield_symbol(chunks, symbol)
click to toggle source
# File lib/ellipses/server/repository.rb, line 30 def yield_symbol(chunks, symbol) return if @consumed.include? symbol @consumed << symbol return if (lines = symbol.payload(root, global.extension)).empty? chunks << lines end