class Liquid::StaticRegisters
Constants
- UNDEFINED
Attributes
static[R]
Public Class Methods
new(registers = {})
click to toggle source
# File lib/liquid/registers.rb, line 7 def initialize(registers = {}) @static = registers.is_a?(Registers) ? registers.static : registers @changes = {} end
Public Instance Methods
[](key)
click to toggle source
# File lib/liquid/registers.rb, line 16 def [](key) if @changes.key?(key) @changes[key] else @static[key] end end
[]=(key, value)
click to toggle source
# File lib/liquid/registers.rb, line 12 def []=(key, value) @changes[key] = value end
delete(key)
click to toggle source
# File lib/liquid/registers.rb, line 24 def delete(key) @changes.delete(key) end
fetch(key, default = UNDEFINED, &block)
click to toggle 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
key?(key)
click to toggle source
# File lib/liquid/registers.rb, line 44 def key?(key) @changes.key?(key) || @static.key?(key) end