mirror of
https://github.com/kemko/liquid.git
synced 2026-01-06 02:05:41 +03:00
* Add ForceEqualSignAlignment to .rubocop.yml * Revert ForceEqualSignAlignment cop * Update method alignment * Undo addition of whitespace to improve readability * Fix missing alignment
37 lines
662 B
Ruby
37 lines
662 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Liquid
|
|
class StaticRegisters
|
|
attr_reader :static, :registers
|
|
|
|
def initialize(registers = {})
|
|
@static = registers.is_a?(StaticRegisters) ? registers.static : registers
|
|
@registers = {}
|
|
end
|
|
|
|
def []=(key, value)
|
|
@registers[key] = value
|
|
end
|
|
|
|
def [](key)
|
|
if @registers.key?(key)
|
|
@registers[key]
|
|
else
|
|
@static[key]
|
|
end
|
|
end
|
|
|
|
def delete(key)
|
|
@registers.delete(key)
|
|
end
|
|
|
|
def fetch(key, default = nil)
|
|
key?(key) ? self[key] : default
|
|
end
|
|
|
|
def key?(key)
|
|
@registers.key?(key) || @static.key?(key)
|
|
end
|
|
end
|
|
end
|