Sha256: 1c552f98f282bc15685a52bdd3d8b1ed5f4e4b41db30f00673cc052c186a7929
Contents?: true
Size: 847 Bytes
Versions: 4
Compression:
Stored size: 847 Bytes
Contents
# frozen_string_literal: true module Liquid class StaticRegisters attr_reader :static 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 UNDEFINED = Object.new def fetch(key, default = UNDEFINED, &block) if @registers.key?(key) @registers.fetch(key) elsif default != UNDEFINED @static.fetch(key, default, &block) else @static.fetch(key, &block) end end def key?(key) @registers.key?(key) || @static.key?(key) end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
liquid-5.2.0 | lib/liquid/static_registers.rb |
liquid-5.1.0 | lib/liquid/static_registers.rb |
liquid-5.0.1 | lib/liquid/static_registers.rb |
liquid-5.0.0 | lib/liquid/static_registers.rb |