murmurhash_jruby 0.0.1

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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 92b97ea8d6dcb22cb31d038fed3729b0a1e3f54b
4
+ data.tar.gz: 19f45e2b0e3621eaccf276353c6e362b1097a25d
5
+ SHA512:
6
+ metadata.gz: d95c466bf8791b8469778acc631e389d965d1c2eb67aef728d20af8c868e56b93268a702cf9e4d0f7c3ebdd0d7e9e56501a3d0405f3318c1ee7a9bced46ba7e2
7
+ data.tar.gz: a8f7b88321f640cd2bb8fc3dbe847a60dcdca623e4695617702aa4a6831e2fdbc553f332dd9e3458ab9c3cc0b35fecc9223577b30be531b64c08f82f90f9173f
@@ -0,0 +1,12 @@
1
+ module MurmurHash
2
+ # a thin wrapper around the 32-bit java implementation of MurmurHash2
3
+ class MurmurHash2
4
+ # @example rawdigest('some-string-to-digest')
5
+ # @param [String] str
6
+ def rawdigest(str)
7
+ byte_arr = str.to_java_bytes
8
+
9
+ ::MurmurHashJava::MurmurHash.hash32(byte_arr, byte_arr.length)
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,20 @@
1
+ module MurmurHash
2
+ # the 64-bit version of MurmurHash2, supposedly. I have doubts about either this
3
+ # java implementation or the digest-murmurhash gem's implementation. I don't
4
+ # get equivalent results when passing in a String into them so I'm wondering
5
+ # which one is most similar to the original C++ implementation.
6
+ #
7
+ # Either way, for JD Power's purposes, we just need this java version to be
8
+ # thinly wrapped in ruby b/c it's the version we're already using and we need
9
+ # all of our keys to stay the same for now. Therefore, I have no need to figure
10
+ # out which version (this one or digest-murmurhash's) is more correct.
11
+ class MurmurHash64a
12
+ # @example rawdigest('some-string-to-digest')
13
+ # @param [String] str
14
+ def rawdigest(str)
15
+ byte_arr = str.to_java_bytes
16
+
17
+ ::MurmurHashJava::MurmurHash.hash64(byte_arr, byte_arr.length)
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,11 @@
1
+ $CLASSPATH << 'target/classes'
2
+ require 'java'
3
+
4
+ module MurmurHashJava
5
+ java_import 'org.jdpower.MurmurHash'
6
+ end
7
+
8
+ module MurmurHash
9
+ require 'murmur_hash/murmur_hash2'
10
+ require 'murmur_hash/murmur_hash64a'
11
+ end
metadata ADDED
@@ -0,0 +1,75 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: murmurhash_jruby
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Billy Watson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-11-30 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: minitest
15
+ version_requirements: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '5.0'
20
+ requirement: !ruby/object:Gem::Requirement
21
+ requirements:
22
+ - - "~>"
23
+ - !ruby/object:Gem::Version
24
+ version: '5.0'
25
+ prerelease: false
26
+ type: :development
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '11'
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - "~>"
37
+ - !ruby/object:Gem::Version
38
+ version: '11'
39
+ prerelease: false
40
+ type: :development
41
+ description: A jruby wrapper of a a very specific java implementation of the MurmurHash2 algorithm. There is a 64-bit and a 32-bit version.
42
+ email:
43
+ executables: []
44
+ extensions: []
45
+ extra_rdoc_files: []
46
+ files:
47
+ - lib/murmur_hash/murmur_hash2.rb
48
+ - lib/murmur_hash/murmur_hash64a.rb
49
+ - lib/murmurhash_jruby.rb
50
+ - target/classes/org/jdpower/MurmurHash.class
51
+ homepage: http://rubygems.org/gems/murmurhash_jruby
52
+ licenses:
53
+ - MIT
54
+ metadata: {}
55
+ post_install_message:
56
+ rdoc_options: []
57
+ require_paths:
58
+ - lib
59
+ required_ruby_version: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: 1.9.3
64
+ required_rubygems_version: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ requirements: []
70
+ rubyforge_project:
71
+ rubygems_version: 2.4.8
72
+ signing_key:
73
+ specification_version: 4
74
+ summary: MurmurHash in JRuby
75
+ test_files: []