snappy 0.0.11-java → 0.0.12-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitmodules +1 -1
- data/.travis.yml +4 -0
- data/README.md +12 -2
- data/ext/api.c +24 -9
- data/ext/extconf.rb +10 -2
- data/lib/snappy/version.rb +1 -1
- data/lib/snappy_ext.jar +0 -0
- data/test/test-snappy.rb +40 -6
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ad3c31a8a7d40bdd357a4604828f89212a4808af
|
4
|
+
data.tar.gz: ed9fd36c6e42df33b37203722d5f680545902fb4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d326d3a46cd91ccd2ded284e65f2a0929cf7712355b83c7a839a3c3ed60e38dd39e5cea3badfb07aed8af944749488dc8cab9e6f4d1883f033fd4fb638e18cd2
|
7
|
+
data.tar.gz: 4dcc660ffffc348070ca7db7653baadcb2e44d583c3930b18b3dac0dfbc2bc8faa2bdc933df12a92d11973dcd84e10c2dc8e6a1a31c3164dad1558a1b2a812ac
|
data/.gitmodules
CHANGED
data/.travis.yml
ADDED
data/README.md
CHANGED
@@ -1,6 +1,16 @@
|
|
1
|
-
# Snappy
|
1
|
+
# Snappy ![](https://travis-ci.org/miyucy/snappy.svg?branch=master)
|
2
2
|
|
3
|
-
see
|
3
|
+
see https://github.com/google/snappy
|
4
|
+
|
5
|
+
## Preparation
|
6
|
+
|
7
|
+
Use libsnappy
|
8
|
+
|
9
|
+
$ brew install snappy
|
10
|
+
|
11
|
+
Or
|
12
|
+
|
13
|
+
$ brew install autoconf automake libtool
|
4
14
|
|
5
15
|
## Installation
|
6
16
|
|
data/ext/api.c
CHANGED
@@ -21,7 +21,7 @@ static VALUE
|
|
21
21
|
snappy_deflate(int argc, VALUE *argv, VALUE self)
|
22
22
|
{
|
23
23
|
VALUE src, dst;
|
24
|
-
size_t
|
24
|
+
size_t output_length;
|
25
25
|
snappy_status result;
|
26
26
|
|
27
27
|
rb_scan_args(argc, argv, "11", &src, &dst);
|
@@ -37,12 +37,12 @@ snappy_deflate(int argc, VALUE *argv, VALUE self)
|
|
37
37
|
}
|
38
38
|
|
39
39
|
result = snappy_compress(RSTRING_PTR(src), RSTRING_LEN(src), RSTRING_PTR(dst), &output_length);
|
40
|
-
if (result
|
41
|
-
rb_str_resize(dst, output_length);
|
42
|
-
return dst;
|
43
|
-
} else {
|
40
|
+
if (result != SNAPPY_OK) {
|
44
41
|
return snappy_raise(result);
|
45
42
|
}
|
43
|
+
|
44
|
+
rb_str_resize(dst, output_length);
|
45
|
+
return dst;
|
46
46
|
}
|
47
47
|
|
48
48
|
static VALUE
|
@@ -72,24 +72,39 @@ snappy_inflate(int argc, VALUE *argv, VALUE self)
|
|
72
72
|
return snappy_raise(result);
|
73
73
|
}
|
74
74
|
|
75
|
-
StringValue(dst);
|
76
75
|
rb_str_resize(dst, output_length);
|
77
|
-
|
78
76
|
return dst;
|
79
77
|
}
|
80
78
|
|
79
|
+
static VALUE
|
80
|
+
snappy_valid_p(VALUE self, VALUE str)
|
81
|
+
{
|
82
|
+
snappy_status result;
|
83
|
+
|
84
|
+
StringValue(str);
|
85
|
+
result = snappy_validate_compressed_buffer(RSTRING_PTR(str), RSTRING_LEN(str));
|
86
|
+
if (result == SNAPPY_OK) {
|
87
|
+
return Qtrue;
|
88
|
+
} else {
|
89
|
+
return Qfalse;
|
90
|
+
}
|
91
|
+
}
|
92
|
+
|
81
93
|
void Init_snappy_ext()
|
82
94
|
{
|
95
|
+
VALUE rb_mSnappy_singleton;
|
96
|
+
|
83
97
|
rb_mSnappy = rb_define_module("Snappy");
|
84
98
|
rb_eSnappy = rb_define_class_under(rb_mSnappy, "Error", rb_eStandardError);
|
85
99
|
rb_define_singleton_method(rb_mSnappy, "deflate", snappy_deflate, -1);
|
86
100
|
rb_define_singleton_method(rb_mSnappy, "inflate", snappy_inflate, -1);
|
101
|
+
rb_define_singleton_method(rb_mSnappy, "valid?", snappy_valid_p, 1);
|
87
102
|
|
88
|
-
|
103
|
+
rb_mSnappy_singleton = rb_singleton_class(rb_mSnappy);
|
89
104
|
|
90
105
|
rb_define_alias(rb_mSnappy_singleton, "compress", "deflate");
|
91
106
|
rb_define_alias(rb_mSnappy_singleton, "dump", "deflate");
|
92
107
|
|
93
108
|
rb_define_alias(rb_mSnappy_singleton, "uncompress", "inflate");
|
94
109
|
rb_define_alias(rb_mSnappy_singleton, "load", "inflate");
|
95
|
-
|
110
|
+
}
|
data/ext/extconf.rb
CHANGED
@@ -1,14 +1,22 @@
|
|
1
1
|
require 'mkmf'
|
2
2
|
require 'fileutils'
|
3
3
|
|
4
|
+
def patch_autogen
|
5
|
+
# s/libtoolize/glibtoolize/
|
6
|
+
File.write('autogen.sh', File.read('autogen.sh').gsub(/libtoolize/, 'glibtoolize'))
|
7
|
+
end
|
8
|
+
|
4
9
|
unless have_library 'snappy'
|
5
10
|
# build vendor/snappy
|
6
11
|
pwd = File.dirname File.expand_path __FILE__
|
7
12
|
dir = File.join pwd, '..', 'vendor', 'snappy'
|
8
13
|
|
9
14
|
Dir.chdir dir do
|
10
|
-
system './autogen.sh'
|
11
|
-
|
15
|
+
unless system './autogen.sh'
|
16
|
+
patch_autogen
|
17
|
+
raise '`autogen.sh` failed' unless system './autogen.sh'
|
18
|
+
end
|
19
|
+
raise '`configure` failed' unless system './configure --disable-option-checking --disable-dependency-tracking --disable-gtest --without-gflags'
|
12
20
|
end
|
13
21
|
|
14
22
|
src = %w(
|
data/lib/snappy/version.rb
CHANGED
data/lib/snappy_ext.jar
CHANGED
Binary file
|
data/test/test-snappy.rb
CHANGED
@@ -1,16 +1,16 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
1
|
+
require 'minitest/autorun'
|
2
|
+
require 'minitest/spec'
|
3
|
+
require 'snappy'
|
4
4
|
|
5
5
|
describe Snappy do
|
6
|
-
T = [*
|
6
|
+
T = [*'a'..'z', *'A'..'Z', *'0'..'9']
|
7
7
|
|
8
|
-
it
|
8
|
+
it 'well done' do
|
9
9
|
s = Array.new(1024){T.sample}.join
|
10
10
|
Snappy.inflate(Snappy.deflate s).must_equal(s)
|
11
11
|
end
|
12
12
|
|
13
|
-
it
|
13
|
+
it 'well done (pair)' do
|
14
14
|
s = Array.new(1024){T.sample}.join
|
15
15
|
[
|
16
16
|
[:deflate, :inflate],
|
@@ -21,4 +21,38 @@ describe Snappy do
|
|
21
21
|
eval %{Snappy.#{o}(Snappy.#{i} s).must_equal(s)}
|
22
22
|
end
|
23
23
|
end
|
24
|
+
|
25
|
+
describe '#deflate' do
|
26
|
+
it 'can pass buffer' do
|
27
|
+
skip 'cannot pass buffer in jruby' if defined? JRUBY_VERSION
|
28
|
+
s = 'a' * 1024
|
29
|
+
d = ' ' * 1024
|
30
|
+
r = Snappy.deflate(s, d)
|
31
|
+
d.must_be_same_as r
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
describe '#inflate' do
|
36
|
+
it 'can pass buffer' do
|
37
|
+
skip 'cannot pass buffer in jruby' if defined? JRUBY_VERSION
|
38
|
+
s = Snappy.deflate('a' * 1024)
|
39
|
+
d = ' ' * 1024
|
40
|
+
r = Snappy.inflate(s, d)
|
41
|
+
d.must_be_same_as r
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
describe '#valid?' do
|
46
|
+
it 'return true when passed deflated data' do
|
47
|
+
skip 'snappy-jars does not have valid?' if defined? JRUBY_VERSION
|
48
|
+
d = Snappy.deflate(Array.new(1024){T.sample}.join)
|
49
|
+
Snappy.valid?(d).must_equal true
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'return false when passed invalid data' do
|
53
|
+
skip 'snappy-jars does not have valid?' if defined? JRUBY_VERSION
|
54
|
+
d = Snappy.deflate(Array.new(1024){T.sample}.join).reverse
|
55
|
+
Snappy.valid?(d).must_equal false
|
56
|
+
end
|
57
|
+
end
|
24
58
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: snappy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.12
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- miyucy
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-06-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -75,6 +75,7 @@ extra_rdoc_files: []
|
|
75
75
|
files:
|
76
76
|
- .gitignore
|
77
77
|
- .gitmodules
|
78
|
+
- .travis.yml
|
78
79
|
- Gemfile
|
79
80
|
- LICENSE.txt
|
80
81
|
- README.md
|
@@ -87,11 +88,11 @@ files:
|
|
87
88
|
- lib/snappy/reader.rb
|
88
89
|
- lib/snappy/version.rb
|
89
90
|
- lib/snappy/writer.rb
|
91
|
+
- lib/snappy_ext.jar
|
90
92
|
- snappy.gemspec
|
91
93
|
- test/test-snappy-reader.rb
|
92
94
|
- test/test-snappy-writer.rb
|
93
95
|
- test/test-snappy.rb
|
94
|
-
- lib/snappy_ext.jar
|
95
96
|
- vendor/snappy/AUTHORS
|
96
97
|
- vendor/snappy/COPYING
|
97
98
|
- vendor/snappy/ChangeLog
|
@@ -150,7 +151,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
150
151
|
version: '0'
|
151
152
|
requirements: []
|
152
153
|
rubyforge_project:
|
153
|
-
rubygems_version: 2.
|
154
|
+
rubygems_version: 2.4.6
|
154
155
|
signing_key:
|
155
156
|
specification_version: 4
|
156
157
|
summary: libsnappy binding for Ruby
|