class Prism::Relocation::CodeUnitColumnsField
A field representing the start and end code unit columns for a specific encoding.
Attributes
encoding[R]
The associated encoding for the code units.
repository[R]
The repository object that is used for lazily creating a code units cache.
Public Class Methods
new(repository, encoding)
click to toggle source
Initialize a new field with the associated repository and encoding.
# File prism/relocation.rb, line 290 def initialize(repository, encoding) @repository = repository @encoding = encoding @cache = nil end
Public Instance Methods
fields(value)
click to toggle source
Fetches the start and end code units column of a value for a particular encoding.
# File prism/relocation.rb, line 298 def fields(value) { start_code_units_column: value.cached_start_code_units_column(cache), end_code_units_column: value.cached_end_code_units_column(cache) } end
Private Instance Methods
cache()
click to toggle source
Lazily create a code units cache for the associated encoding.
# File prism/relocation.rb, line 308 def cache @cache ||= repository.code_units_cache(encoding) end