class Prism::Relocation::Repository
Репозиторий — это настроенная коллекция полей и набор записей, которые знают, как перепарсить исходный текст и реифицировать значения.
Атрибуты
Записи, сохранённые в этом репозитории.
Поля, настроенные в этом репозитории.
Источник, связанный с этим репозиторием. Это может быть либо SourceFilepath (самый распространённый случай), либо SourceString.
Публичные методы класса
Исходный код
# File lib/prism/relocation.rb, line 369
def initialize(source)
@source = source
@fields = {}
@entries = Hash.new { |hash, node_id| hash[node_id] = {} }
end Инициализирует новый репозиторий с заданным источником.
Публичные методы экземпляра
Исходный код
# File lib/prism/relocation.rb, line 415 def character_columns field(:character_columns, CharacterColumnsField.new) end
Настраивает поле character columns для этого репозитория и возвращает self.
Исходный код
# File lib/prism/relocation.rb, line 398 def character_offsets field(:character_offsets, CharacterOffsetsField.new) end
Настраивает поле character offsets для этого репозитория и возвращает self.
Исходный код
# File lib/prism/relocation.rb, line 421 def code_unit_columns(encoding) field(:code_unit_columns, CodeUnitColumnsField.new(self, encoding)) end
Настраивает поле code unit columns для этого репозитория для определённого кодирования и возвращает self.
Исходный код
# File lib/prism/relocation.rb, line 404 def code_unit_offsets(encoding) field(:code_unit_offsets, CodeUnitOffsetsField.new(self, encoding)) end
Настраивает поле code unit offsets для этого репозитория для определённого кодирования и возвращает self.
Исходный код
# File lib/prism/relocation.rb, line 376 def code_units_cache(encoding) source.code_units_cache(encoding) end
Создаёт кэш code units для заданного кодирования из источника.
Исходный код
# File lib/prism/relocation.rb, line 409 def columns field(:columns, ColumnsField.new) end
Настраивает поле columns для этого репозитория и возвращает self.
Исходный код
# File lib/prism/relocation.rb, line 439 def comments leading_comments.trailing_comments end
Настраивает поля leading и trailing comments для этого репозитория и возвращает self.
Исходный код
# File lib/prism/relocation.rb, line 381 def filepath raise ConfigurationError, "Can only specify filepath for a filepath source" unless source.is_a?(SourceFilepath) field(:filepath, FilepathField.new(source.value)) end
Настраивает поле filepath для этого репозитория и возвращает self.
Исходный код
# File lib/prism/relocation.rb, line 427 def leading_comments field(:leading_comments, LeadingCommentsField.new) end
Настраивает поле leading comments для этого репозитория и возвращает self.
Исходный код
# File lib/prism/relocation.rb, line 387 def lines field(:lines, LinesField.new) end
Настраивает поле lines для этого репозитория и возвращает self.
Исходный код
# File lib/prism/relocation.rb, line 392 def offsets field(:offsets, OffsetsField.new) end
Настраивает поле offsets для этого репозитория и возвращает self.
Исходный код
# File lib/prism/relocation.rb, line 433 def trailing_comments field(:trailing_comments, TrailingCommentsField.new) end
Настраивает поле trailing comments для этого репозитория и возвращает self.
Приватные методы экземпляра
Исходный код
# File lib/prism/relocation.rb, line 487
def field(name, value)
raise ConfigurationError, "Cannot specify multiple #{name} fields" if @fields.key?(name)
@fields[name] = value
self
end Добавляет заданное поле в репозиторий и возвращает репозиторий, чтобы эти вызовы можно было объединить.
Ruby Core © 1993–2024 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.