class Prism::Relocation::Repository
Ein Repository ist eine konfigurierte Sammlung von Feldern und eine Menge von Einträgen, die weiß, wie eine Quelle neu geparst und die Werte neu erstellt werden.
Attribute
Die Einträge, die in diesem Repository gespeichert wurden.
Die Felder, die in diesem Repository konfiguriert wurden.
Die mit diesem Repository verknüpfte Quelle. Dies ist entweder ein SourceFilepath (der häufigste Anwendungsfall) oder ein SourceString.
Öffentliche Klassenmethoden
Source
# File lib/prism/relocation.rb, line 370 def initialize(source) @source = source @fields = {} @entries = Hash.new { |hash, node_id| hash[node_id] = {} } end
Initialisiert ein neues Repository mit der angegebenen Quelle.
Öffentliche Instanzmethoden
Source
# File lib/prism/relocation.rb, line 416 def character_columns field(:character_columns, CharacterColumnsField.new) end
Konfiguriert das Feld für Zeichenspalten für dieses Repository und gibt self zurück.
Source
# File lib/prism/relocation.rb, line 399 def character_offsets field(:character_offsets, CharacterOffsetsField.new) end
Konfiguriert das Feld für Zeichen-Offsets für dieses Repository und gibt self zurück.
Source
# File lib/prism/relocation.rb, line 422 def code_unit_columns(encoding) field(:code_unit_columns, CodeUnitColumnsField.new(self, encoding)) end
Konfiguriert das Feld für Code-Einheit-Spalten für dieses Repository für eine bestimmte Kodierung und gibt self zurück.
Source
# File lib/prism/relocation.rb, line 405 def code_unit_offsets(encoding) field(:code_unit_offsets, CodeUnitOffsetsField.new(self, encoding)) end
Konfiguriert das Feld für Code-Einheit-Offsets für dieses Repository für eine bestimmte Kodierung und gibt self zurück.
Source
# File lib/prism/relocation.rb, line 377 def code_units_cache(encoding) source.code_units_cache(encoding) end
Erstellt einen Cache für Code-Einheiten für die angegebene Kodierung aus der Quelle.
Source
# File lib/prism/relocation.rb, line 410 def columns field(:columns, ColumnsField.new) end
Konfiguriert das Feld für Spalten für dieses Repository und gibt self zurück.
Source
# File lib/prism/relocation.rb, line 440 def comments leading_comments.trailing_comments end
Konfiguriert sowohl die Felder für führende als auch für nachfolgende Kommentare für dieses Repository und gibt self zurück.
Source
# File lib/prism/relocation.rb, line 382 def filepath raise ConfigurationError, "Can only specify filepath for a filepath source" unless source.is_a?(SourceFilepath) field(:filepath, FilepathField.new(source.value)) end
Konfiguriert das Feld für den Dateipfad für dieses Repository und gibt self zurück.
Source
# File lib/prism/relocation.rb, line 428 def leading_comments field(:leading_comments, LeadingCommentsField.new) end
Konfiguriert das Feld für führende Kommentare für dieses Repository und gibt self zurück.
Source
# File lib/prism/relocation.rb, line 388 def lines field(:lines, LinesField.new) end
Konfiguriert das Feld für Zeilen für dieses Repository und gibt self zurück.
Source
# File lib/prism/relocation.rb, line 393 def offsets field(:offsets, OffsetsField.new) end
Konfiguriert das Feld für Offsets für dieses Repository und gibt self zurück.
Source
# File lib/prism/relocation.rb, line 434 def trailing_comments field(:trailing_comments, TrailingCommentsField.new) end
Konfiguriert das Feld für nachfolgende Kommentare für dieses Repository und gibt self zurück.
Private Instanzmethoden
Source
# File lib/prism/relocation.rb, line 488 def field(name, value) raise ConfigurationError, "Cannot specify multiple #{name} fields" if @fields.key?(name) @fields[name] = value self end
Hängt das angegebene Feld an das Repository an und gibt das Repository zurück, so dass diese Aufrufe verkettet werden können.