Module: Philiprehberger::BloomFilter

Defined in:
lib/philiprehberger/bloom_filter.rb,
lib/philiprehberger/bloom_filter/filter.rb,
lib/philiprehberger/bloom_filter/version.rb

Defined Under Namespace

Classes: Error, Filter

Constant Summary collapse

VERSION =
'0.5.1'

Class Method Summary collapse

Class Method Details

.deserialize(data) ⇒ Filter

Deserialize a bloom filter from a hash.

Parameters:

  • data (Hash)

    serialized bloom filter data

Returns:

  • (Filter)

    a restored bloom filter instance



23
24
25
# File 'lib/philiprehberger/bloom_filter.rb', line 23

def self.deserialize(data)
  Filter.deserialize(data)
end

.from_json(str) ⇒ Filter

Deserialize a bloom filter from a JSON string.

Parameters:

  • str (String)

    JSON string

Returns:

  • (Filter)

    a restored bloom filter instance



31
32
33
# File 'lib/philiprehberger/bloom_filter.rb', line 31

def self.from_json(str)
  Filter.from_json(str)
end

.new(expected_items:, false_positive_rate: 0.01) ⇒ Filter

Create a new Bloom filter.

Parameters:

  • expected_items (Integer)

    expected number of items

  • false_positive_rate (Float) (defaults to: 0.01)

    desired false positive rate (0.0 to 1.0)

Returns:

  • (Filter)

    a new bloom filter instance



15
16
17
# File 'lib/philiprehberger/bloom_filter.rb', line 15

def self.new(expected_items:, false_positive_rate: 0.01)
  Filter.new(expected_items: expected_items, false_positive_rate: false_positive_rate)
end