Class: Lite::Containers::TopN::Heap

Inherits:
Object
  • Object
show all
Includes:
Abstract
Defined in:
lib/lite/containers/top_n/heap.rb

Constant Summary collapse

Backend =
Containers::Heap

Instance Attribute Summary

Attributes included from Abstract

#limit

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Abstract

#initialize, #push

Methods included from Abstract::ImplicitKey

#<<, #push

Methods included from Abstract::Collection

#count, #empty?, #length, #size

Class Method Details

.instance(type, limit: nil, filter: nil, key_extractor: nil) ⇒ Object



14
15
16
17
18
# File 'lib/lite/containers/top_n/heap.rb', line 14

def self.instance(type, limit: nil, filter: nil, key_extractor: nil)
  comparison = Helpers::Comparison.instance(type, key_extractor: key_extractor).invert
  backend = Backend.with_comparison(comparison)
  new backend, limit, filter
end

Instance Method Details

#drain!Object



24
25
26
# File 'lib/lite/containers/top_n/heap.rb', line 24

def drain!
  @backend.drain!.reverse
end

#popObject



20
21
22
# File 'lib/lite/containers/top_n/heap.rb', line 20

def pop
  @backend.pop
end