Class: RBGL::GUI::X11::AtomCache

Inherits:
Object
  • Object
show all
Defined in:
lib/rbgl/gui/x11/atom_cache.rb

Constant Summary collapse

BUILTIN_ATOMS =
{
  wm_name: 39,
  string: 31,
  atom: 4
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(&resolver) ⇒ AtomCache

Returns a new instance of AtomCache.



13
14
15
16
# File 'lib/rbgl/gui/x11/atom_cache.rb', line 13

def initialize(&resolver)
  @resolver = resolver
  @cache = BUILTIN_ATOMS.dup
end

Instance Method Details

#fetch(name) ⇒ Object



18
19
20
21
22
# File 'lib/rbgl/gui/x11/atom_cache.rb', line 18

def fetch(name)
  return name if name.is_a?(Integer)

  @cache[name] ||= @resolver.call(name)
end