class Liquid::StaticRegisters
Constants
- UNDEFINED
Attributes
Public Class Methods
Source
# File lib/liquid/registers.rb, line 7 def initialize(registers = {}) @static = registers.is_a?(Registers) ? registers.static : registers @changes = {} end
Public Instance Methods
Source
# File lib/liquid/registers.rb, line 16 def [](key) if @changes.key?(key) @changes[key] else @static[key] end end
Source
# File lib/liquid/registers.rb, line 12 def []=(key, value) @changes[key] = value end
Source
# File lib/liquid/registers.rb, line 24 def delete(key) @changes.delete(key) end
Source
# File lib/liquid/registers.rb, line 30 def fetch(key, default = UNDEFINED, &block) if @changes.key?(key) @changes.fetch(key) elsif default != UNDEFINED if block_given? @static.fetch(key, &block) else @static.fetch(key, default) end else @static.fetch(key, &block) end end
Source
# File lib/liquid/registers.rb, line 44 def key?(key) @changes.key?(key) || @static.key?(key) end