Object
A Hash-like object for caching commonly used objects from a PDF file.
This is an internal class, no promises about a stable API.
These object types use little memory and are accessed a heap of times as part of random page access, so we’ll cache the unmarshalled objects and avoid lots of repetitive (and expensive) tokenising
# File lib/pdf/reader/object_cache.rb, line 26 def [](key) update_stats(key) @objects[key] || @lru_cache[key] end
# File lib/pdf/reader/object_cache.rb, line 31 def []=(key, value) if cacheable?(value) @objects[key] = value else @lru_cache[key] = value end end
# File lib/pdf/reader/object_cache.rb, line 44 def each(&block) @objects.each(&block) @lru_cache.each(&block) end
# File lib/pdf/reader/object_cache.rb, line 50 def each_key(&block) @objects.each_key(&block) @lru_cache.each_key(&block) end
# File lib/pdf/reader/object_cache.rb, line 55 def each_value(&block) @objects.each_value(&block) @lru_cache.each_value(&block) end
# File lib/pdf/reader/object_cache.rb, line 65 def empty? @objects.empty? && @lru_cache.empty? end
# File lib/pdf/reader/object_cache.rb, line 39 def fetch(key, local_default = nil) update_stats(key) @objects[key] || @lru_cache.fetch(key, local_default) end
# File lib/pdf/reader/object_cache.rb, line 76 def has_value?(value) @objects.has_value?(value) || @lru_cache.has_value?(value) end
# File lib/pdf/reader/object_cache.rb, line 69 def include?(key) @objects.include?(key) || @lru_cache.include?(key) end
# File lib/pdf/reader/object_cache.rb, line 84 def keys @objects.keys + @lru_cache.keys end
# File lib/pdf/reader/object_cache.rb, line 60 def size @objects.size + @lru_cache.size end
Generated with the Darkfish Rdoc Generator 2.