filiptepper-leveldb-ruby 0.14
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/LICENSE +24 -0
- data/README +72 -0
- data/ext/leveldb/extconf.rb +14 -0
- data/ext/leveldb/leveldb.cc +530 -0
- data/ext/leveldb/platform.rb +83 -0
- data/leveldb/Makefile +191 -0
- data/leveldb/build_detect_platform +160 -0
- data/leveldb/db/builder.cc +88 -0
- data/leveldb/db/builder.h +34 -0
- data/leveldb/db/c.cc +581 -0
- data/leveldb/db/corruption_test.cc +359 -0
- data/leveldb/db/db_bench.cc +970 -0
- data/leveldb/db/db_impl.cc +1448 -0
- data/leveldb/db/db_impl.h +194 -0
- data/leveldb/db/db_iter.cc +299 -0
- data/leveldb/db/db_iter.h +26 -0
- data/leveldb/db/db_test.cc +1901 -0
- data/leveldb/db/dbformat.cc +140 -0
- data/leveldb/db/dbformat.h +227 -0
- data/leveldb/db/dbformat_test.cc +112 -0
- data/leveldb/db/filename.cc +139 -0
- data/leveldb/db/filename.h +80 -0
- data/leveldb/db/filename_test.cc +122 -0
- data/leveldb/db/log_format.h +35 -0
- data/leveldb/db/log_reader.cc +259 -0
- data/leveldb/db/log_reader.h +108 -0
- data/leveldb/db/log_test.cc +500 -0
- data/leveldb/db/log_writer.cc +103 -0
- data/leveldb/db/log_writer.h +48 -0
- data/leveldb/db/memtable.cc +145 -0
- data/leveldb/db/memtable.h +91 -0
- data/leveldb/db/repair.cc +389 -0
- data/leveldb/db/skiplist.h +379 -0
- data/leveldb/db/skiplist_test.cc +378 -0
- data/leveldb/db/snapshot.h +66 -0
- data/leveldb/db/table_cache.cc +121 -0
- data/leveldb/db/table_cache.h +61 -0
- data/leveldb/db/version_edit.cc +266 -0
- data/leveldb/db/version_edit.h +107 -0
- data/leveldb/db/version_edit_test.cc +46 -0
- data/leveldb/db/version_set.cc +1402 -0
- data/leveldb/db/version_set.h +370 -0
- data/leveldb/db/version_set_test.cc +179 -0
- data/leveldb/db/write_batch.cc +147 -0
- data/leveldb/db/write_batch_internal.h +49 -0
- data/leveldb/db/write_batch_test.cc +120 -0
- data/leveldb/helpers/memenv/memenv.cc +374 -0
- data/leveldb/helpers/memenv/memenv.h +20 -0
- data/leveldb/helpers/memenv/memenv_test.cc +232 -0
- data/leveldb/include/leveldb/c.h +275 -0
- data/leveldb/include/leveldb/cache.h +99 -0
- data/leveldb/include/leveldb/comparator.h +63 -0
- data/leveldb/include/leveldb/db.h +161 -0
- data/leveldb/include/leveldb/env.h +323 -0
- data/leveldb/include/leveldb/filter_policy.h +70 -0
- data/leveldb/include/leveldb/iterator.h +100 -0
- data/leveldb/include/leveldb/options.h +195 -0
- data/leveldb/include/leveldb/slice.h +109 -0
- data/leveldb/include/leveldb/status.h +106 -0
- data/leveldb/include/leveldb/table.h +85 -0
- data/leveldb/include/leveldb/table_builder.h +92 -0
- data/leveldb/include/leveldb/write_batch.h +64 -0
- data/leveldb/port/atomic_pointer.h +144 -0
- data/leveldb/port/port.h +21 -0
- data/leveldb/port/port_android.cc +64 -0
- data/leveldb/port/port_android.h +159 -0
- data/leveldb/port/port_example.h +125 -0
- data/leveldb/port/port_posix.cc +50 -0
- data/leveldb/port/port_posix.h +129 -0
- data/leveldb/port/win/stdint.h +24 -0
- data/leveldb/table/block.cc +267 -0
- data/leveldb/table/block.h +44 -0
- data/leveldb/table/block_builder.cc +109 -0
- data/leveldb/table/block_builder.h +57 -0
- data/leveldb/table/filter_block.cc +111 -0
- data/leveldb/table/filter_block.h +68 -0
- data/leveldb/table/filter_block_test.cc +128 -0
- data/leveldb/table/format.cc +145 -0
- data/leveldb/table/format.h +108 -0
- data/leveldb/table/iterator.cc +67 -0
- data/leveldb/table/iterator_wrapper.h +63 -0
- data/leveldb/table/merger.cc +197 -0
- data/leveldb/table/merger.h +26 -0
- data/leveldb/table/table.cc +276 -0
- data/leveldb/table/table_builder.cc +270 -0
- data/leveldb/table/table_test.cc +838 -0
- data/leveldb/table/two_level_iterator.cc +182 -0
- data/leveldb/table/two_level_iterator.h +34 -0
- data/leveldb/util/arena.cc +68 -0
- data/leveldb/util/arena.h +68 -0
- data/leveldb/util/arena_test.cc +68 -0
- data/leveldb/util/bloom.cc +95 -0
- data/leveldb/util/bloom_test.cc +159 -0
- data/leveldb/util/cache.cc +328 -0
- data/leveldb/util/cache_test.cc +186 -0
- data/leveldb/util/coding.cc +194 -0
- data/leveldb/util/coding.h +104 -0
- data/leveldb/util/coding_test.cc +173 -0
- data/leveldb/util/comparator.cc +76 -0
- data/leveldb/util/crc32c.cc +332 -0
- data/leveldb/util/crc32c.h +45 -0
- data/leveldb/util/crc32c_test.cc +72 -0
- data/leveldb/util/env.cc +96 -0
- data/leveldb/util/env_posix.cc +609 -0
- data/leveldb/util/env_test.cc +104 -0
- data/leveldb/util/filter_policy.cc +11 -0
- data/leveldb/util/hash.cc +45 -0
- data/leveldb/util/hash.h +19 -0
- data/leveldb/util/histogram.cc +139 -0
- data/leveldb/util/histogram.h +42 -0
- data/leveldb/util/logging.cc +81 -0
- data/leveldb/util/logging.h +47 -0
- data/leveldb/util/mutexlock.h +39 -0
- data/leveldb/util/options.cc +29 -0
- data/leveldb/util/posix_logger.h +98 -0
- data/leveldb/util/random.h +59 -0
- data/leveldb/util/status.cc +75 -0
- data/leveldb/util/testharness.cc +77 -0
- data/leveldb/util/testharness.h +138 -0
- data/leveldb/util/testutil.cc +51 -0
- data/leveldb/util/testutil.h +53 -0
- data/lib/leveldb.rb +76 -0
- metadata +175 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// Copyright (c) 2011 The LevelDB Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
+
// found in the LICENSE file. See the AUTHORS file for names of contributors.
|
|
4
|
+
|
|
5
|
+
#include "util/testutil.h"
|
|
6
|
+
|
|
7
|
+
#include "util/random.h"
|
|
8
|
+
|
|
9
|
+
namespace leveldb {
|
|
10
|
+
namespace test {
|
|
11
|
+
|
|
12
|
+
Slice RandomString(Random* rnd, int len, std::string* dst) {
|
|
13
|
+
dst->resize(len);
|
|
14
|
+
for (int i = 0; i < len; i++) {
|
|
15
|
+
(*dst)[i] = static_cast<char>(' ' + rnd->Uniform(95)); // ' ' .. '~'
|
|
16
|
+
}
|
|
17
|
+
return Slice(*dst);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
std::string RandomKey(Random* rnd, int len) {
|
|
21
|
+
// Make sure to generate a wide variety of characters so we
|
|
22
|
+
// test the boundary conditions for short-key optimizations.
|
|
23
|
+
static const char kTestChars[] = {
|
|
24
|
+
'\0', '\1', 'a', 'b', 'c', 'd', 'e', '\xfd', '\xfe', '\xff'
|
|
25
|
+
};
|
|
26
|
+
std::string result;
|
|
27
|
+
for (int i = 0; i < len; i++) {
|
|
28
|
+
result += kTestChars[rnd->Uniform(sizeof(kTestChars))];
|
|
29
|
+
}
|
|
30
|
+
return result;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
extern Slice CompressibleString(Random* rnd, double compressed_fraction,
|
|
35
|
+
int len, std::string* dst) {
|
|
36
|
+
int raw = static_cast<int>(len * compressed_fraction);
|
|
37
|
+
if (raw < 1) raw = 1;
|
|
38
|
+
std::string raw_data;
|
|
39
|
+
RandomString(rnd, raw, &raw_data);
|
|
40
|
+
|
|
41
|
+
// Duplicate the random data until we have filled "len" bytes
|
|
42
|
+
dst->clear();
|
|
43
|
+
while (dst->size() < len) {
|
|
44
|
+
dst->append(raw_data);
|
|
45
|
+
}
|
|
46
|
+
dst->resize(len);
|
|
47
|
+
return Slice(*dst);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
} // namespace test
|
|
51
|
+
} // namespace leveldb
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// Copyright (c) 2011 The LevelDB Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
+
// found in the LICENSE file. See the AUTHORS file for names of contributors.
|
|
4
|
+
|
|
5
|
+
#ifndef STORAGE_LEVELDB_UTIL_TESTUTIL_H_
|
|
6
|
+
#define STORAGE_LEVELDB_UTIL_TESTUTIL_H_
|
|
7
|
+
|
|
8
|
+
#include "leveldb/env.h"
|
|
9
|
+
#include "leveldb/slice.h"
|
|
10
|
+
#include "util/random.h"
|
|
11
|
+
|
|
12
|
+
namespace leveldb {
|
|
13
|
+
namespace test {
|
|
14
|
+
|
|
15
|
+
// Store in *dst a random string of length "len" and return a Slice that
|
|
16
|
+
// references the generated data.
|
|
17
|
+
extern Slice RandomString(Random* rnd, int len, std::string* dst);
|
|
18
|
+
|
|
19
|
+
// Return a random key with the specified length that may contain interesting
|
|
20
|
+
// characters (e.g. \x00, \xff, etc.).
|
|
21
|
+
extern std::string RandomKey(Random* rnd, int len);
|
|
22
|
+
|
|
23
|
+
// Store in *dst a string of length "len" that will compress to
|
|
24
|
+
// "N*compressed_fraction" bytes and return a Slice that references
|
|
25
|
+
// the generated data.
|
|
26
|
+
extern Slice CompressibleString(Random* rnd, double compressed_fraction,
|
|
27
|
+
int len, std::string* dst);
|
|
28
|
+
|
|
29
|
+
// A wrapper that allows injection of errors.
|
|
30
|
+
class ErrorEnv : public EnvWrapper {
|
|
31
|
+
public:
|
|
32
|
+
bool writable_file_error_;
|
|
33
|
+
int num_writable_file_errors_;
|
|
34
|
+
|
|
35
|
+
ErrorEnv() : EnvWrapper(Env::Default()),
|
|
36
|
+
writable_file_error_(false),
|
|
37
|
+
num_writable_file_errors_(0) { }
|
|
38
|
+
|
|
39
|
+
virtual Status NewWritableFile(const std::string& fname,
|
|
40
|
+
WritableFile** result) {
|
|
41
|
+
if (writable_file_error_) {
|
|
42
|
+
++num_writable_file_errors_;
|
|
43
|
+
*result = NULL;
|
|
44
|
+
return Status::IOError(fname, "fake error");
|
|
45
|
+
}
|
|
46
|
+
return target()->NewWritableFile(fname, result);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
} // namespace test
|
|
51
|
+
} // namespace leveldb
|
|
52
|
+
|
|
53
|
+
#endif // STORAGE_LEVELDB_UTIL_TESTUTIL_H_
|
data/lib/leveldb.rb
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
require 'leveldb/leveldb' # the c extension
|
|
2
|
+
|
|
3
|
+
module LevelDB
|
|
4
|
+
class DB
|
|
5
|
+
include Enumerable
|
|
6
|
+
class << self
|
|
7
|
+
## Loads or creates a LevelDB database as necessary, stored on disk at
|
|
8
|
+
## +pathname+.
|
|
9
|
+
def new pathname
|
|
10
|
+
make path_string(pathname), true, false
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
## Creates a new LevelDB database stored on disk at +pathname+. Throws an
|
|
14
|
+
## exception if the database already exists.
|
|
15
|
+
def create pathname
|
|
16
|
+
make path_string(pathname), true, true
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
## Loads a LevelDB database stored on disk at +pathname+. Throws an
|
|
20
|
+
## exception unless the database already exists.
|
|
21
|
+
def load pathname
|
|
22
|
+
make path_string(pathname), false, false
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
private
|
|
26
|
+
|
|
27
|
+
## Coerces the argument into a String for use as a filename/-path
|
|
28
|
+
def path_string pathname
|
|
29
|
+
File.respond_to?(:path) ? File.path(pathname) : pathname.to_str
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
attr_reader :pathname
|
|
34
|
+
|
|
35
|
+
alias :includes? :exists?
|
|
36
|
+
alias :contains? :exists?
|
|
37
|
+
alias :member? :exists?
|
|
38
|
+
alias :[] :get
|
|
39
|
+
alias :[]= :put
|
|
40
|
+
|
|
41
|
+
def each(*args, &block)
|
|
42
|
+
i = iterator(*args)
|
|
43
|
+
i.each(&block) if block
|
|
44
|
+
i
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def iterator(*args); Iterator.new self, *args end
|
|
48
|
+
def keys; map { |k, v| k } end
|
|
49
|
+
def values; map { |k, v| v } end
|
|
50
|
+
|
|
51
|
+
def inspect
|
|
52
|
+
%(<#{self.class} #{@pathname.inspect}>)
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
class Iterator
|
|
57
|
+
include Enumerable
|
|
58
|
+
|
|
59
|
+
attr_reader :db, :from, :to
|
|
60
|
+
|
|
61
|
+
def self.new(db, opts={})
|
|
62
|
+
make db, opts
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def reversed?; @reversed end
|
|
66
|
+
def inspect
|
|
67
|
+
%(<#{self.class} #{@db.inspect} @from=#{@from.inspect} @to=#{@to.inspect}#{' (reversed)' if @reversed}>)
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
class WriteBatch
|
|
72
|
+
class << self
|
|
73
|
+
private :new
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end # module LevelDB
|
metadata
ADDED
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: filiptepper-leveldb-ruby
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: '0.14'
|
|
5
|
+
prerelease:
|
|
6
|
+
platform: ruby
|
|
7
|
+
authors:
|
|
8
|
+
- William Morgan
|
|
9
|
+
autorequire:
|
|
10
|
+
bindir: bin
|
|
11
|
+
cert_chain: []
|
|
12
|
+
date: 2012-05-18 00:00:00.000000000 Z
|
|
13
|
+
dependencies: []
|
|
14
|
+
description: LevelDB-Ruby is a Ruby binding to LevelDB.
|
|
15
|
+
email: wmorgan-leveldb-ruby-gemspec@masanjin.net
|
|
16
|
+
executables: []
|
|
17
|
+
extensions:
|
|
18
|
+
- ext/leveldb/extconf.rb
|
|
19
|
+
extra_rdoc_files:
|
|
20
|
+
- README
|
|
21
|
+
- ext/leveldb/leveldb.cc
|
|
22
|
+
files:
|
|
23
|
+
- README
|
|
24
|
+
- LICENSE
|
|
25
|
+
- ext/leveldb/extconf.rb
|
|
26
|
+
- ext/leveldb/platform.rb
|
|
27
|
+
- lib/leveldb.rb
|
|
28
|
+
- ext/leveldb/leveldb.cc
|
|
29
|
+
- leveldb/Makefile
|
|
30
|
+
- leveldb/build_detect_platform
|
|
31
|
+
- leveldb/db/builder.cc
|
|
32
|
+
- leveldb/db/builder.h
|
|
33
|
+
- leveldb/db/c.cc
|
|
34
|
+
- leveldb/db/corruption_test.cc
|
|
35
|
+
- leveldb/db/db_bench.cc
|
|
36
|
+
- leveldb/db/db_impl.cc
|
|
37
|
+
- leveldb/db/db_impl.h
|
|
38
|
+
- leveldb/db/db_iter.cc
|
|
39
|
+
- leveldb/db/db_iter.h
|
|
40
|
+
- leveldb/db/db_test.cc
|
|
41
|
+
- leveldb/db/dbformat.cc
|
|
42
|
+
- leveldb/db/dbformat.h
|
|
43
|
+
- leveldb/db/dbformat_test.cc
|
|
44
|
+
- leveldb/db/filename.cc
|
|
45
|
+
- leveldb/db/filename.h
|
|
46
|
+
- leveldb/db/filename_test.cc
|
|
47
|
+
- leveldb/db/log_format.h
|
|
48
|
+
- leveldb/db/log_reader.cc
|
|
49
|
+
- leveldb/db/log_reader.h
|
|
50
|
+
- leveldb/db/log_test.cc
|
|
51
|
+
- leveldb/db/log_writer.cc
|
|
52
|
+
- leveldb/db/log_writer.h
|
|
53
|
+
- leveldb/db/memtable.cc
|
|
54
|
+
- leveldb/db/memtable.h
|
|
55
|
+
- leveldb/db/repair.cc
|
|
56
|
+
- leveldb/db/skiplist.h
|
|
57
|
+
- leveldb/db/skiplist_test.cc
|
|
58
|
+
- leveldb/db/snapshot.h
|
|
59
|
+
- leveldb/db/table_cache.cc
|
|
60
|
+
- leveldb/db/table_cache.h
|
|
61
|
+
- leveldb/db/version_edit.cc
|
|
62
|
+
- leveldb/db/version_edit.h
|
|
63
|
+
- leveldb/db/version_edit_test.cc
|
|
64
|
+
- leveldb/db/version_set.cc
|
|
65
|
+
- leveldb/db/version_set.h
|
|
66
|
+
- leveldb/db/version_set_test.cc
|
|
67
|
+
- leveldb/db/write_batch.cc
|
|
68
|
+
- leveldb/db/write_batch_internal.h
|
|
69
|
+
- leveldb/db/write_batch_test.cc
|
|
70
|
+
- leveldb/helpers/memenv/memenv.cc
|
|
71
|
+
- leveldb/helpers/memenv/memenv.h
|
|
72
|
+
- leveldb/helpers/memenv/memenv_test.cc
|
|
73
|
+
- leveldb/include/leveldb/c.h
|
|
74
|
+
- leveldb/include/leveldb/cache.h
|
|
75
|
+
- leveldb/include/leveldb/comparator.h
|
|
76
|
+
- leveldb/include/leveldb/db.h
|
|
77
|
+
- leveldb/include/leveldb/env.h
|
|
78
|
+
- leveldb/include/leveldb/filter_policy.h
|
|
79
|
+
- leveldb/include/leveldb/iterator.h
|
|
80
|
+
- leveldb/include/leveldb/options.h
|
|
81
|
+
- leveldb/include/leveldb/slice.h
|
|
82
|
+
- leveldb/include/leveldb/status.h
|
|
83
|
+
- leveldb/include/leveldb/table.h
|
|
84
|
+
- leveldb/include/leveldb/table_builder.h
|
|
85
|
+
- leveldb/include/leveldb/write_batch.h
|
|
86
|
+
- leveldb/port/atomic_pointer.h
|
|
87
|
+
- leveldb/port/port.h
|
|
88
|
+
- leveldb/port/port_android.cc
|
|
89
|
+
- leveldb/port/port_android.h
|
|
90
|
+
- leveldb/port/port_example.h
|
|
91
|
+
- leveldb/port/port_posix.cc
|
|
92
|
+
- leveldb/port/port_posix.h
|
|
93
|
+
- leveldb/port/win/stdint.h
|
|
94
|
+
- leveldb/table/block.cc
|
|
95
|
+
- leveldb/table/block.h
|
|
96
|
+
- leveldb/table/block_builder.cc
|
|
97
|
+
- leveldb/table/block_builder.h
|
|
98
|
+
- leveldb/table/filter_block.cc
|
|
99
|
+
- leveldb/table/filter_block.h
|
|
100
|
+
- leveldb/table/filter_block_test.cc
|
|
101
|
+
- leveldb/table/format.cc
|
|
102
|
+
- leveldb/table/format.h
|
|
103
|
+
- leveldb/table/iterator.cc
|
|
104
|
+
- leveldb/table/iterator_wrapper.h
|
|
105
|
+
- leveldb/table/merger.cc
|
|
106
|
+
- leveldb/table/merger.h
|
|
107
|
+
- leveldb/table/table.cc
|
|
108
|
+
- leveldb/table/table_builder.cc
|
|
109
|
+
- leveldb/table/table_test.cc
|
|
110
|
+
- leveldb/table/two_level_iterator.cc
|
|
111
|
+
- leveldb/table/two_level_iterator.h
|
|
112
|
+
- leveldb/util/arena.cc
|
|
113
|
+
- leveldb/util/arena.h
|
|
114
|
+
- leveldb/util/arena_test.cc
|
|
115
|
+
- leveldb/util/bloom.cc
|
|
116
|
+
- leveldb/util/bloom_test.cc
|
|
117
|
+
- leveldb/util/cache.cc
|
|
118
|
+
- leveldb/util/cache_test.cc
|
|
119
|
+
- leveldb/util/coding.cc
|
|
120
|
+
- leveldb/util/coding.h
|
|
121
|
+
- leveldb/util/coding_test.cc
|
|
122
|
+
- leveldb/util/comparator.cc
|
|
123
|
+
- leveldb/util/crc32c.cc
|
|
124
|
+
- leveldb/util/crc32c.h
|
|
125
|
+
- leveldb/util/crc32c_test.cc
|
|
126
|
+
- leveldb/util/env.cc
|
|
127
|
+
- leveldb/util/env_posix.cc
|
|
128
|
+
- leveldb/util/env_test.cc
|
|
129
|
+
- leveldb/util/filter_policy.cc
|
|
130
|
+
- leveldb/util/hash.cc
|
|
131
|
+
- leveldb/util/hash.h
|
|
132
|
+
- leveldb/util/histogram.cc
|
|
133
|
+
- leveldb/util/histogram.h
|
|
134
|
+
- leveldb/util/logging.cc
|
|
135
|
+
- leveldb/util/logging.h
|
|
136
|
+
- leveldb/util/mutexlock.h
|
|
137
|
+
- leveldb/util/options.cc
|
|
138
|
+
- leveldb/util/posix_logger.h
|
|
139
|
+
- leveldb/util/random.h
|
|
140
|
+
- leveldb/util/status.cc
|
|
141
|
+
- leveldb/util/testharness.cc
|
|
142
|
+
- leveldb/util/testharness.h
|
|
143
|
+
- leveldb/util/testutil.cc
|
|
144
|
+
- leveldb/util/testutil.h
|
|
145
|
+
homepage: http://github.com/wmorgan/leveldb-ruby
|
|
146
|
+
licenses: []
|
|
147
|
+
post_install_message:
|
|
148
|
+
rdoc_options:
|
|
149
|
+
- -c
|
|
150
|
+
- utf8
|
|
151
|
+
- --main
|
|
152
|
+
- README
|
|
153
|
+
- --title
|
|
154
|
+
- LevelDB
|
|
155
|
+
require_paths:
|
|
156
|
+
- lib
|
|
157
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
158
|
+
none: false
|
|
159
|
+
requirements:
|
|
160
|
+
- - ! '>='
|
|
161
|
+
- !ruby/object:Gem::Version
|
|
162
|
+
version: '0'
|
|
163
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
164
|
+
none: false
|
|
165
|
+
requirements:
|
|
166
|
+
- - ! '>='
|
|
167
|
+
- !ruby/object:Gem::Version
|
|
168
|
+
version: '0'
|
|
169
|
+
requirements: []
|
|
170
|
+
rubyforge_project:
|
|
171
|
+
rubygems_version: 1.8.24
|
|
172
|
+
signing_key:
|
|
173
|
+
specification_version: 3
|
|
174
|
+
summary: a Ruby binding to LevelDB
|
|
175
|
+
test_files: []
|