Class: Wayfarer::Frontiers::MemoryTrieFrontier Private
- Inherits:
-
MemoryFrontier
- Object
- Frontier
- MemoryFrontier
- Wayfarer::Frontiers::MemoryTrieFrontier
- Defined in:
- lib/wayfarer/frontiers/memory_trie_frontier.rb
Overview
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
An in-memory trie.
Instance Attribute Summary
Attributes inherited from Frontier
Instance Method Summary collapse
- #cache(*uris) ⇒ Object private
- #cached?(uri) ⇒ Boolean private
- #free ⇒ Object private
-
#initialize(config) ⇒ MemoryTrieFrontier
constructor
private
A new instance of MemoryTrieFrontier.
- #match!(uri) ⇒ Object private
Methods inherited from MemoryFrontier
#current_uris, #stage, #staged?, #staged_uris
Methods inherited from Frontier
#current_uris, #cycle, #filter_staged_uris!, #reset_staged_uris!, #stage, #staged?, #staged_uris, #swap!
Constructor Details
#initialize(config) ⇒ MemoryTrieFrontier
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of MemoryTrieFrontier.
10 11 12 13 |
# File 'lib/wayfarer/frontiers/memory_trie_frontier.rb', line 10 def initialize(config) @trie = Trie.new super(config) end |
Instance Method Details
#cache(*uris) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
16 17 18 |
# File 'lib/wayfarer/frontiers/memory_trie_frontier.rb', line 16 def cache(*uris) uris.each { |uri| @trie.add(uri.to_s) } end |
#cached?(uri) ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
25 26 27 28 29 30 |
# File 'lib/wayfarer/frontiers/memory_trie_frontier.rb', line 25 def cached?(uri) # RuboCop autocorrects `#has_key?` to `#key?` otherwise # rubocop:disable Style/PreferredHashMethods @trie.has_key?(uri.to_s) # rubocop:enable Style/PreferredHashMethods end |
#free ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
33 34 35 36 |
# File 'lib/wayfarer/frontiers/memory_trie_frontier.rb', line 33 def free @trie = nil super end |
#match!(uri) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
21 22 23 |
# File 'lib/wayfarer/frontiers/memory_trie_frontier.rb', line 21 def match!(uri) @str_or_regexp === uri.host end |