jruby-bloomfilter 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/Gemfile CHANGED
@@ -1,5 +1,5 @@
1
1
  source :rubygems
2
2
 
3
- gem 'jets3t-rb', :git => 'git://github.com/gaiottino/jets3t-rb.git'
3
+ gem 'jets3t-rb'
4
4
  gem 'rspec'
5
5
 
data/Gemfile.lock CHANGED
@@ -1,13 +1,8 @@
1
- GIT
2
- remote: git://github.com/gaiottino/jets3t-rb.git
3
- revision: f7c77fa1d393bb3ebaf42d4d871071d3e9652328
4
- specs:
5
- jets3t-rb (1.0.0)
6
-
7
1
  GEM
8
2
  remote: http://rubygems.org/
9
3
  specs:
10
4
  diff-lcs (1.1.2)
5
+ jets3t-rb (1.0.1)
11
6
  rspec (2.5.0)
12
7
  rspec-core (~> 2.5.0)
13
8
  rspec-expectations (~> 2.5.0)
@@ -19,7 +14,8 @@ GEM
19
14
 
20
15
  PLATFORMS
21
16
  java
17
+ ruby
22
18
 
23
19
  DEPENDENCIES
24
- jets3t-rb!
20
+ jets3t-rb
25
21
  rspec
data/bloomfilter.gemspec CHANGED
@@ -6,7 +6,7 @@ Dir['ext/*.jar'].each { |jar| require jar }
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = 'jruby-bloomfilter'
9
- s.version = '1.0.2'
9
+ s.version = '1.0.4'
10
10
  s.platform = Gem::Platform::RUBY
11
11
  s.authors = ['Daniel Gaiottino']
12
12
  s.email = ['daniel@burtcorp.com']
@@ -15,7 +15,7 @@ Gem::Specification.new do |s|
15
15
  s.description = %q{JRuby wrapper (+ some extra functionality) to http://code.google.com/p/java-bloomfilter}
16
16
 
17
17
  s.rubyforge_project = 'jruby-bloomfilter'
18
- s.add_dependency 'jets3t-rb', '~> 1.0.0'
18
+ s.add_dependency 'jets3t-rb'
19
19
 
20
20
  s.files = `git ls-files`.split("\n")
21
21
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
data/lib/bloomfilter.rb CHANGED
@@ -6,6 +6,7 @@ require 'ext/java-bloomfilter-0.9.3'
6
6
  require_relative 'bloomfilter/serializer'
7
7
 
8
8
  module Jar
9
+ import java.util.concurrent.locks.ReentrantLock
9
10
  import com.skjegstad.utils.BloomFilter
10
11
  end
11
12
 
@@ -17,25 +18,35 @@ module Bloomfilter
17
18
  elsif options[:filter]
18
19
  @filter = options[:filter]
19
20
  end
21
+
22
+ @lock = Jar::ReentrantLock.new
20
23
  end
21
24
 
22
25
  def << (k)
26
+ lock
23
27
  @filter.add(k)
28
+ ensure
29
+ unlock
24
30
  end
25
31
 
26
- def add_if_absent(k)
27
- @filter.synchronized do
28
- @filter.add(k) unless @filter.contains(k)
29
- end
30
- end
31
-
32
32
  def include?(k)
33
+ lock
33
34
  @filter.contains(k)
35
+ ensure
36
+ unlock
34
37
  end
35
38
 
36
39
  def count
37
40
  @filter.count
38
41
  end
39
42
 
43
+ def lock
44
+ @lock.lock
45
+ end
46
+
47
+ def unlock
48
+ @lock.unlock
49
+ end
50
+
40
51
  end
41
52
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: jruby-bloomfilter
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 1.0.2
5
+ version: 1.0.4
6
6
  platform: ruby
7
7
  authors:
8
8
  - Daniel Gaiottino
@@ -18,9 +18,9 @@ dependencies:
18
18
  requirement: &id001 !ruby/object:Gem::Requirement
19
19
  none: false
20
20
  requirements:
21
- - - ~>
21
+ - - ">="
22
22
  - !ruby/object:Gem::Version
23
- version: 1.0.0
23
+ version: "0"
24
24
  type: :runtime
25
25
  version_requirements: *id001
26
26
  description: JRuby wrapper (+ some extra functionality) to http://code.google.com/p/java-bloomfilter