libcdb-ruby 0.0.4-x86-mswin32-60 → 0.1.0-x86-mswin32-60
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 +7 -0
- data/ChangeLog +10 -0
- data/README +11 -9
- data/Rakefile +7 -2
- data/ext/libcdb/ruby_cdb.h +3 -3
- data/ext/libcdb/ruby_cdb_reader.c +27 -36
- data/ext/libcdb/ruby_cdb_reader.h +15 -23
- data/ext/libcdb/ruby_cdb_writer.c +7 -5
- data/ext/libcdb/ruby_cdb_writer.h +3 -3
- data/ext/libcdb/ruby_libcdb.h +3 -3
- data/lib/libcdb.rb +9 -1
- data/lib/libcdb/libcdb_ruby.so +0 -0
- data/lib/libcdb/version.rb +2 -2
- data/spec/libcdb/reader_spec.rb +15 -15
- data/spec/spec_helper.rb +2 -2
- metadata +46 -26
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 90b713359ac3f39f84a2806d2c8838ae0947b31b
|
4
|
+
data.tar.gz: 59e4d036501006bbebcee527f9ab6a62db3e030d
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 52aa390e38a7231ddd7cbb6690bb99dfcc55bf94dd03d01dedc5e7889b950563c7912369e40fb17ea15bbe0201eedafaa36869ab8943680e85d27a961ed70444
|
7
|
+
data.tar.gz: 90abe71fc1608d85de4ee60b21906492a1c13c154d5c1980715c4535ef8e351e337e1e97326e1b6f8999bbd28301021a192bfa22724afbf79e508f773b918c58
|
data/ChangeLog
CHANGED
@@ -1,5 +1,15 @@
|
|
1
|
+
# markup: rd
|
2
|
+
|
1
3
|
= Revision history for libcdb-ruby
|
2
4
|
|
5
|
+
== 0.1.0 [unreleased]
|
6
|
+
|
7
|
+
* Removed usage of +RARRAY_PTR+ (cf. Ruby bug
|
8
|
+
{#8399}[https://bugs.ruby-lang.org/issues/8399]).
|
9
|
+
* Fixed clobbering errors in <tt>CDB.open</tt>.
|
10
|
+
* <b>Dropped support for Ruby 1.8.7.</b>
|
11
|
+
* Housekeeping.
|
12
|
+
|
3
13
|
== 0.0.4 [2012-08-09]
|
4
14
|
|
5
15
|
* Fixed writing with Ruby 1.9.3 on Windows.
|
data/README
CHANGED
@@ -2,13 +2,13 @@
|
|
2
2
|
|
3
3
|
== VERSION
|
4
4
|
|
5
|
-
This documentation refers to libcdb-ruby version 0.0
|
5
|
+
This documentation refers to libcdb-ruby version 0.1.0
|
6
6
|
|
7
7
|
|
8
8
|
== DESCRIPTION
|
9
9
|
|
10
10
|
The libcdb-ruby library provides Ruby bindings for the
|
11
|
-
TinyCDB[http://corpit.ru/mjt/tinycdb.html] package for
|
11
|
+
TinyCDB[http://www.corpit.ru/mjt/tinycdb.html] package for
|
12
12
|
creating and reading {constant databases}[http://cr.yp.to/cdb.html].
|
13
13
|
|
14
14
|
require 'libcdb'
|
@@ -63,9 +63,8 @@ creating and reading {constant databases}[http://cr.yp.to/cdb.html].
|
|
63
63
|
== PREREQUISITES
|
64
64
|
|
65
65
|
<b></b>
|
66
|
-
* Ruby 1.
|
67
|
-
|
68
|
-
* TinyCDB[http://corpit.ru/mjt/tinycdb.html] headers (not needed when
|
66
|
+
* Ruby 1.9+ (see {below}[rdoc-label:label-SUPPORTED+PLATFORMS] for details)
|
67
|
+
* TinyCDB[http://www.corpit.ru/mjt/tinycdb.html] headers (not needed when
|
69
68
|
installing the fat binary gem on Windows)
|
70
69
|
|
71
70
|
Debian/Ubuntu:: +libcdb-dev+
|
@@ -76,8 +75,9 @@ creating and reading {constant databases}[http://cr.yp.to/cdb.html].
|
|
76
75
|
== SUPPORTED PLATFORMS
|
77
76
|
|
78
77
|
<b></b>
|
79
|
-
Linux:: 1.
|
80
|
-
|
78
|
+
Linux:: MRI 1.9 & 2.0 (Tested on 64-bit Ubuntu GNU/Linux with 1.9.2p323,
|
79
|
+
1.9.3p286 and 2.0.0p119)
|
80
|
+
Windows:: MRI 1.9 (Tested on 32-bit Windows XP with 1.9.2p290 and 1.9.3p194)
|
81
81
|
|
82
82
|
|
83
83
|
== LINKS
|
@@ -86,13 +86,13 @@ Windows:: 1.9 only (Tested on XP with 1.9.2p290 and 1.9.3p194)
|
|
86
86
|
Documentation:: http://blackwinter.github.com/libcdb-ruby
|
87
87
|
Source code:: http://github.com/blackwinter/libcdb-ruby
|
88
88
|
RubyGem:: http://rubygems.org/gems/libcdb-ruby
|
89
|
-
TinyCDB:: http://corpit.ru/mjt/tinycdb.html
|
89
|
+
TinyCDB:: http://www.corpit.ru/mjt/tinycdb.html
|
90
90
|
CDB:: http://cr.yp.to/cdb.html
|
91
91
|
|
92
92
|
|
93
93
|
== AUTHORS
|
94
94
|
|
95
|
-
* Jens Wille <mailto:jens.wille@
|
95
|
+
* Jens Wille <mailto:jens.wille@gmail.com>
|
96
96
|
|
97
97
|
|
98
98
|
== CREDITS
|
@@ -110,6 +110,8 @@ team for making extension building such a breeze :)
|
|
110
110
|
Copyright (C) 2012 University of Cologne,
|
111
111
|
Albertus-Magnus-Platz, 50923 Cologne, Germany
|
112
112
|
|
113
|
+
Copyright (C) 2013 Jens Wille
|
114
|
+
|
113
115
|
libcdb-ruby is free software: you can redistribute it and/or modify it
|
114
116
|
under the terms of the GNU Affero General Public License as published by
|
115
117
|
the Free Software Foundation, either version 3 of the License, or (at your
|
data/Rakefile
CHANGED
@@ -20,9 +20,14 @@ begin
|
|
20
20
|
:version => LibCDB::CDB::VERSION,
|
21
21
|
:summary => %q{Ruby bindings for CDB Constant Databases.},
|
22
22
|
:author => %q{Jens Wille},
|
23
|
-
:email => %q{jens.wille@
|
23
|
+
:email => %q{jens.wille@gmail.com},
|
24
|
+
:license => %q{AGPL},
|
24
25
|
:homepage => :blackwinter,
|
25
|
-
:extension => {
|
26
|
+
:extension => {
|
27
|
+
:cross_config_options => cco,
|
28
|
+
:ruby_versions => RUBY_VERSION
|
29
|
+
},
|
30
|
+
required_ruby_version: '>= 1.9.2'
|
26
31
|
}
|
27
32
|
}}
|
28
33
|
rescue LoadError => err
|
data/ext/libcdb/ruby_cdb.h
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
#ifndef
|
2
|
-
#define
|
1
|
+
#ifndef RUBY_CDB_H
|
2
|
+
#define RUBY_CDB_H
|
3
3
|
|
4
4
|
#ifdef HAVE_RUBY_IO_H
|
5
5
|
#define RCDB_GET_FD(fptr) (fptr)->fd
|
@@ -71,4 +71,4 @@ rcdb_##what##er_inspect(VALUE self) {\
|
|
71
71
|
extern VALUE cCDB;
|
72
72
|
void rcdb_init_cdb(void);
|
73
73
|
|
74
|
-
#endif /*
|
74
|
+
#endif /* RUBY_CDB_H */
|
@@ -33,13 +33,13 @@ RCDB_READER_DEFINE_READ(data)
|
|
33
33
|
|
34
34
|
/* Helper method */
|
35
35
|
static VALUE
|
36
|
-
|
36
|
+
rcdb_reader_iter_push(VALUE val, VALUE ary) {
|
37
37
|
return rb_ary_push(ary, val);
|
38
38
|
}
|
39
39
|
|
40
40
|
/* Helper method */
|
41
41
|
static VALUE
|
42
|
-
|
42
|
+
rcdb_reader_iter_aset(VALUE pair, VALUE hash) {
|
43
43
|
VALUE key = rb_ary_entry(pair, 0), val = rb_ary_entry(pair, 1), old;
|
44
44
|
|
45
45
|
if (!st_lookup(RHASH_TBL(hash), key, 0)) {
|
@@ -63,19 +63,19 @@ _rcdb_reader_iter_aset(VALUE pair, VALUE hash) {
|
|
63
63
|
|
64
64
|
/* Helper method */
|
65
65
|
static VALUE
|
66
|
-
|
66
|
+
rcdb_reader_break_equal(VALUE val, VALUE ary) {
|
67
67
|
RCDB_READER_BREAK_EQUAL(val, Qtrue)
|
68
68
|
}
|
69
69
|
|
70
70
|
/* Helper method */
|
71
71
|
static VALUE
|
72
|
-
|
72
|
+
rcdb_reader_break_equal2(VALUE pair, VALUE ary) {
|
73
73
|
RCDB_READER_BREAK_EQUAL(rb_ary_entry(pair, 1), rb_ary_entry(pair, 0))
|
74
74
|
}
|
75
75
|
|
76
76
|
/* Helper method */
|
77
77
|
static VALUE
|
78
|
-
|
78
|
+
rcdb_reader_break_shift(VALUE val, VALUE ary) {
|
79
79
|
rb_ary_shift(ary);
|
80
80
|
rb_iter_break();
|
81
81
|
|
@@ -84,14 +84,14 @@ _rcdb_reader_break_shift(VALUE val, VALUE ary) {
|
|
84
84
|
|
85
85
|
/* Helper method */
|
86
86
|
static VALUE
|
87
|
-
|
87
|
+
rcdb_reader_iter_inc(VALUE val, long *i) {
|
88
88
|
++*i;
|
89
89
|
return Qnil;
|
90
90
|
}
|
91
91
|
|
92
92
|
/* Helper method */
|
93
93
|
static VALUE
|
94
|
-
|
94
|
+
rcdb_reader_iter_dump(VALUE val, VALUE str) {
|
95
95
|
rb_str_append(str, val);
|
96
96
|
rb_str_cat2(str, "\n");
|
97
97
|
|
@@ -100,7 +100,7 @@ _rcdb_reader_iter_dump(VALUE val, VALUE str) {
|
|
100
100
|
|
101
101
|
/* Helper method */
|
102
102
|
static VALUE
|
103
|
-
|
103
|
+
rcdb_reader_dump_pair(VALUE key, VALUE val) {
|
104
104
|
VALUE str = rb_str_new2("");
|
105
105
|
|
106
106
|
rb_str_cat2(str, "+");
|
@@ -117,22 +117,17 @@ _rcdb_reader_dump_pair(VALUE key, VALUE val) {
|
|
117
117
|
|
118
118
|
/* Helper method */
|
119
119
|
static VALUE
|
120
|
-
|
121
|
-
return rb_yield(
|
120
|
+
rcdb_reader_yield_dump(VALUE pair, VALUE ary) {
|
121
|
+
return rb_yield(rcdb_reader_dump_pair(
|
122
122
|
rb_ary_entry(pair, 0), rb_ary_entry(pair, 1)));
|
123
123
|
}
|
124
124
|
|
125
125
|
/* Helper method */
|
126
126
|
static VALUE
|
127
|
-
|
128
|
-
return rb_yield(
|
127
|
+
rcdb_reader_yield_dump2(VALUE val, VALUE ary) {
|
128
|
+
return rb_yield(rcdb_reader_dump_pair(rb_ary_entry(ary, 0), val));
|
129
129
|
}
|
130
130
|
|
131
|
-
RCDB_READER_DEFINE_CALL(each)
|
132
|
-
RCDB_READER_DEFINE_CALL(each_key)
|
133
|
-
RCDB_READER_DEFINE_CALL(each_value)
|
134
|
-
RCDB_READER_DEFINE_CALL(each_dump)
|
135
|
-
|
136
131
|
/*
|
137
132
|
* call-seq:
|
138
133
|
* reader.each { |key, val| ... } -> reader
|
@@ -160,7 +155,7 @@ rcdb_reader_each(int argc, VALUE *argv, VALUE self) {
|
|
160
155
|
}
|
161
156
|
|
162
157
|
while (cdb_findnext(&cdbf) > 0) {
|
163
|
-
rb_yield(
|
158
|
+
rb_yield(rcdb_reader_read_data(cdb));
|
164
159
|
}
|
165
160
|
}
|
166
161
|
else {
|
@@ -168,8 +163,8 @@ rcdb_reader_each(int argc, VALUE *argv, VALUE self) {
|
|
168
163
|
|
169
164
|
while (cdb_seqnext(&cdbp, cdb) > 0) {
|
170
165
|
rb_yield(rb_ary_new3(2,
|
171
|
-
|
172
|
-
|
166
|
+
rcdb_reader_read_key(cdb),
|
167
|
+
rcdb_reader_read_data(cdb)));
|
173
168
|
}
|
174
169
|
}
|
175
170
|
|
@@ -187,19 +182,16 @@ rcdb_reader_each(int argc, VALUE *argv, VALUE self) {
|
|
187
182
|
*/
|
188
183
|
static VALUE
|
189
184
|
rcdb_reader_each_dump(int argc, VALUE *argv, VALUE self) {
|
190
|
-
VALUE key
|
191
|
-
VALUE (*block)(ANYARGS) = _rcdb_reader_yield_dump;
|
185
|
+
VALUE key;
|
192
186
|
|
193
187
|
RCDB_RETURN_ENUMERATOR(self, argc, argv, 1);
|
194
188
|
|
195
189
|
if (rb_scan_args(argc, argv, "01", &key) == 1 && !NIL_P(key)) {
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
190
|
+
RCDB_READER_ITERATE0(each, yield_dump2, rb_ary_new3(1, key))
|
191
|
+
}
|
192
|
+
else {
|
193
|
+
RCDB_READER_ITERATE1(each, yield_dump, rb_ary_new())
|
200
194
|
}
|
201
|
-
|
202
|
-
rb_iterate(_rcdb_reader_call_each, args, block, ary);
|
203
195
|
|
204
196
|
return self;
|
205
197
|
}
|
@@ -222,7 +214,7 @@ rcdb_reader_each_key(VALUE self) {
|
|
222
214
|
cdb_seqinit(&cdbp, cdb);
|
223
215
|
|
224
216
|
while (cdb_seqnext(&cdbp, cdb) > 0) {
|
225
|
-
if (!st_lookup(RHASH_TBL(hash), key =
|
217
|
+
if (!st_lookup(RHASH_TBL(hash), key = rcdb_reader_read_key(cdb), 0)) {
|
226
218
|
rb_hash_aset(hash, key, Qtrue);
|
227
219
|
rb_yield(key);
|
228
220
|
}
|
@@ -248,7 +240,7 @@ rcdb_reader_each_value(VALUE self) {
|
|
248
240
|
cdb_seqinit(&cdbp, cdb);
|
249
241
|
|
250
242
|
while (cdb_seqnext(&cdbp, cdb) > 0) {
|
251
|
-
rb_yield(
|
243
|
+
rb_yield(rcdb_reader_read_data(cdb));
|
252
244
|
}
|
253
245
|
|
254
246
|
return self;
|
@@ -262,10 +254,9 @@ rcdb_reader_each_value(VALUE self) {
|
|
262
254
|
*/
|
263
255
|
static VALUE
|
264
256
|
rcdb_reader_fetch(VALUE self, VALUE key) {
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
return arg;
|
257
|
+
VALUE ary = rb_ary_new();
|
258
|
+
RCDB_READER_ITERATE0(each, iter_push, ary)
|
259
|
+
return ary;
|
269
260
|
}
|
270
261
|
|
271
262
|
/*
|
@@ -283,7 +274,7 @@ rcdb_reader_fetch_first(VALUE self, VALUE key) {
|
|
283
274
|
RCDB_READER_GET(self, cdb);
|
284
275
|
|
285
276
|
if (cdb_find(cdb, RSTRING_PTR(key), RSTRING_LEN(key)) > 0) {
|
286
|
-
val =
|
277
|
+
val = rcdb_reader_read_data(cdb);
|
287
278
|
}
|
288
279
|
|
289
280
|
return val;
|
@@ -355,7 +346,7 @@ rcdb_reader_values(VALUE self) {
|
|
355
346
|
static VALUE
|
356
347
|
rcdb_reader_values_at(int argc, VALUE *argv, VALUE self) {
|
357
348
|
VALUE ary = rb_ary_new();
|
358
|
-
|
349
|
+
int i;
|
359
350
|
|
360
351
|
for (i = 0; i < argc; i++) {
|
361
352
|
rb_ary_push(ary, rcdb_reader_fetch(self, argv[i]));
|
@@ -1,30 +1,22 @@
|
|
1
|
-
#ifndef
|
2
|
-
#define
|
1
|
+
#ifndef RCDB_READER_H
|
2
|
+
#define RCDB_READER_H
|
3
3
|
|
4
4
|
#define RCDB_READER_GET(obj, ptr) RCDB_GET_STRUCT(read, cdb, obj, ptr)
|
5
5
|
|
6
|
-
#define
|
7
|
-
|
8
|
-
_rcdb_reader_call_##iter(VALUE args) {\
|
9
|
-
VALUE self = rb_ary_shift(args);\
|
10
|
-
return rb_funcall2(self, rb_intern(#iter),\
|
11
|
-
RARRAY_LEN(args), RARRAY_PTR(args));\
|
12
|
-
}
|
13
|
-
|
14
|
-
#define RCDB_READER_ITERATE0(method, block, arg1, arg2) \
|
15
|
-
VALUE arg = arg1;\
|
16
|
-
rb_iterate(_rcdb_reader_call_##method, arg2, _rcdb_reader_##block, arg);
|
6
|
+
#define RCDB_READER_ITERATE0(method, block, arg) \
|
7
|
+
rb_block_call(self, rb_intern(#method), 1, &key, rcdb_reader_##block, arg);
|
17
8
|
|
18
|
-
#define RCDB_READER_ITERATE1(method, block,
|
19
|
-
|
9
|
+
#define RCDB_READER_ITERATE1(method, block, arg) \
|
10
|
+
VALUE ret = arg;\
|
11
|
+
rb_block_call(self, rb_intern(#method), 0, 0, rcdb_reader_##block, ret);
|
20
12
|
|
21
|
-
#define RCDB_READER_ITERATE(method, block,
|
22
|
-
RCDB_READER_ITERATE1(method, block,
|
23
|
-
return
|
13
|
+
#define RCDB_READER_ITERATE(method, block, arg) \
|
14
|
+
RCDB_READER_ITERATE1(method, block, arg)\
|
15
|
+
return ret;
|
24
16
|
|
25
|
-
#define RCDB_READER_ITERATE_ARY(method, block,
|
26
|
-
RCDB_READER_ITERATE1(method, block,
|
27
|
-
return rb_ary_entry(
|
17
|
+
#define RCDB_READER_ITERATE_ARY(method, block, arg) \
|
18
|
+
RCDB_READER_ITERATE1(method, block, arg)\
|
19
|
+
return rb_ary_entry(ret, 0);
|
28
20
|
|
29
21
|
#define RCDB_READER_BREAK_EQUAL(val, ret) \
|
30
22
|
if (RTEST(rb_funcall(val, rb_intern("=="), 1, rb_ary_entry(ary, 1)))) {\
|
@@ -36,7 +28,7 @@ _rcdb_reader_call_##iter(VALUE args) {\
|
|
36
28
|
|
37
29
|
#define RCDB_READER_DEFINE_READ(what) \
|
38
30
|
static VALUE \
|
39
|
-
|
31
|
+
rcdb_reader_read_##what(struct cdb *cdb) {\
|
40
32
|
size_t len;\
|
41
33
|
VALUE ret;\
|
42
34
|
\
|
@@ -52,4 +44,4 @@ _rcdb_reader_read_##what(struct cdb *cdb) {\
|
|
52
44
|
extern VALUE cCDBReader;
|
53
45
|
void rcdb_init_reader(void);
|
54
46
|
|
55
|
-
#endif /*
|
47
|
+
#endif /* RCDB_READER_H */
|
@@ -99,7 +99,7 @@ rcdb_writer_put_value(struct cdb_make *cdbm, VALUE key, VALUE val, enum cdb_put_
|
|
99
99
|
}
|
100
100
|
|
101
101
|
for (i = 0; i < RARRAY_LEN(val); i++) {
|
102
|
-
rcdb_writer_put_pair(cdbm, key,
|
102
|
+
rcdb_writer_put_pair(cdbm, key, rb_ary_entry(val, i), mode);
|
103
103
|
}
|
104
104
|
|
105
105
|
break;
|
@@ -113,7 +113,7 @@ rcdb_writer_put_value(struct cdb_make *cdbm, VALUE key, VALUE val, enum cdb_put_
|
|
113
113
|
static VALUE
|
114
114
|
rcdb_writer_put(int argc, VALUE *argv, VALUE self, enum cdb_put_mode mode) {
|
115
115
|
struct cdb_make *cdbm = NULL;
|
116
|
-
VALUE arg, val;
|
116
|
+
VALUE arg, val, tmp;
|
117
117
|
long i;
|
118
118
|
|
119
119
|
RCDB_WRITER_GET(self, cdbm);
|
@@ -127,7 +127,7 @@ rcdb_writer_put(int argc, VALUE *argv, VALUE self, enum cdb_put_mode mode) {
|
|
127
127
|
val = rb_str_new2("");
|
128
128
|
|
129
129
|
for (i = 0; i < RARRAY_LEN(arg); i++) {
|
130
|
-
rcdb_writer_put_pair(cdbm,
|
130
|
+
rcdb_writer_put_pair(cdbm, rb_ary_entry(arg, i), val, mode);
|
131
131
|
}
|
132
132
|
|
133
133
|
break;
|
@@ -136,9 +136,11 @@ rcdb_writer_put(int argc, VALUE *argv, VALUE self, enum cdb_put_mode mode) {
|
|
136
136
|
st_foreach(RHASH_TBL(arg), rcdb_writer_push_pair, val);
|
137
137
|
|
138
138
|
for (i = 0; i < RARRAY_LEN(val); i++) {
|
139
|
+
tmp = rb_ary_entry(val, i);
|
140
|
+
|
139
141
|
rcdb_writer_put_value(cdbm,
|
140
|
-
rb_ary_entry(
|
141
|
-
rb_ary_entry(
|
142
|
+
rb_ary_entry(tmp, 0),
|
143
|
+
rb_ary_entry(tmp, 1),
|
142
144
|
mode);
|
143
145
|
}
|
144
146
|
|
@@ -1,9 +1,9 @@
|
|
1
|
-
#ifndef
|
2
|
-
#define
|
1
|
+
#ifndef RCDB_WRITER_H
|
2
|
+
#define RCDB_WRITER_H
|
3
3
|
|
4
4
|
#define RCDB_WRITER_GET(obj, ptr) RCDB_GET_STRUCT(writ, cdb_make, obj, ptr)
|
5
5
|
|
6
6
|
extern VALUE cCDBWriter;
|
7
7
|
void rcdb_init_writer(void);
|
8
8
|
|
9
|
-
#endif /*
|
9
|
+
#endif /* RCDB_WRITER_H */
|
data/ext/libcdb/ruby_libcdb.h
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
#ifndef
|
2
|
-
#define
|
1
|
+
#ifndef RUBY_LIBCDB_H
|
2
|
+
#define RUBY_LIBCDB_H
|
3
3
|
|
4
4
|
#include <ruby.h>
|
5
5
|
#if HAVE_RUBY_IO_H
|
@@ -24,4 +24,4 @@
|
|
24
24
|
|
25
25
|
extern VALUE mLibCDB;
|
26
26
|
|
27
|
-
#endif /*
|
27
|
+
#endif /* RUBY_LIBCDB_H */
|
data/lib/libcdb.rb
CHANGED
data/lib/libcdb/libcdb_ruby.so
CHANGED
Binary file
|
data/lib/libcdb/version.rb
CHANGED
data/spec/libcdb/reader_spec.rb
CHANGED
@@ -68,11 +68,11 @@ describe LibCDB::CDB::Reader do
|
|
68
68
|
end
|
69
69
|
|
70
70
|
it "should know if it doesn't have a key" do
|
71
|
-
@db.should_not have_key('
|
71
|
+
@db.should_not have_key('k3')
|
72
72
|
end
|
73
73
|
|
74
74
|
it "should know if it doesn't have a value" do
|
75
|
-
@db.should_not have_value('
|
75
|
+
@db.should_not have_value('v3.2')
|
76
76
|
end
|
77
77
|
|
78
78
|
it "should dump itself" do
|
@@ -108,11 +108,11 @@ describe LibCDB::CDB::Reader do
|
|
108
108
|
end
|
109
109
|
|
110
110
|
it "should know its size" do
|
111
|
-
@db.size.should ==
|
111
|
+
@db.size.should == TEST_DATA.size
|
112
112
|
end
|
113
113
|
|
114
114
|
it "should know its total" do
|
115
|
-
@db.total.should ==
|
115
|
+
@db.total.should == TEST_DATA.values.flatten.size
|
116
116
|
end
|
117
117
|
|
118
118
|
it "should know its keys" do
|
@@ -124,27 +124,27 @@ describe LibCDB::CDB::Reader do
|
|
124
124
|
end
|
125
125
|
|
126
126
|
it "should know if it has a key" do
|
127
|
-
@db.should have_key('
|
127
|
+
@db.should have_key('k3')
|
128
128
|
end
|
129
129
|
|
130
130
|
it "should know if it doesn't have a key" do
|
131
|
-
@db.should_not have_key('
|
131
|
+
@db.should_not have_key('none')
|
132
132
|
end
|
133
133
|
|
134
134
|
it "should know if it has a value" do
|
135
|
-
@db.should have_value('
|
135
|
+
@db.should have_value('v3.2')
|
136
136
|
end
|
137
137
|
|
138
138
|
it "should know if it doesn't have a value" do
|
139
|
-
@db.should_not have_value('
|
139
|
+
@db.should_not have_value('none')
|
140
140
|
end
|
141
141
|
|
142
142
|
it "should get a single value" do
|
143
|
-
@db['
|
143
|
+
@db['k1'].should == 'v1.1'
|
144
144
|
end
|
145
145
|
|
146
146
|
it "should not get non-existent value" do
|
147
|
-
@db['
|
147
|
+
@db['none'].should be_nil
|
148
148
|
end
|
149
149
|
|
150
150
|
it "should get each value" do
|
@@ -162,21 +162,21 @@ describe LibCDB::CDB::Reader do
|
|
162
162
|
end
|
163
163
|
|
164
164
|
it "should get last value" do
|
165
|
-
@db.fetch_last('
|
165
|
+
@db.fetch_last('k10').should == 'v10.10'
|
166
166
|
end
|
167
167
|
|
168
168
|
it "should find the key for a value" do
|
169
|
-
@db.key('
|
169
|
+
@db.key('v3.2').should == 'k3'
|
170
170
|
end
|
171
171
|
|
172
172
|
it "should not find the key for a non-existent value" do
|
173
|
-
@db.key('
|
173
|
+
@db.key('none').should be_nil
|
174
174
|
end
|
175
175
|
|
176
176
|
it "should dump records for key" do
|
177
177
|
d = []
|
178
|
-
@db.each_dump('
|
179
|
-
d.should == %w[+4
|
178
|
+
@db.each_dump('k3') { |e| d << e }
|
179
|
+
d.should == %w[+2,4:k3->v3.1 +2,4:k3->v3.2 +2,4:k3->v3.3]
|
180
180
|
end
|
181
181
|
|
182
182
|
it "should convert itself into a hash" do
|
data/spec/spec_helper.rb
CHANGED
@@ -8,8 +8,8 @@ RSpec.configure { |config|
|
|
8
8
|
TEST_DATA = {}
|
9
9
|
|
10
10
|
1.upto(10) { |i|
|
11
|
-
v = TEST_DATA["
|
12
|
-
1.upto(i) { |j| v << "
|
11
|
+
v = TEST_DATA["k#{i}"] = []
|
12
|
+
1.upto(i) { |j| v << "v#{i}.#{j}" }
|
13
13
|
}
|
14
14
|
|
15
15
|
TEST_DATA['a' * 1024] = Array('b' * 1024 ** 2)
|
metadata
CHANGED
@@ -1,18 +1,38 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: libcdb-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.0
|
6
5
|
platform: x86-mswin32-60
|
7
6
|
authors:
|
8
7
|
- Jens Wille
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
|
-
cert_chain:
|
12
|
-
|
10
|
+
cert_chain:
|
11
|
+
- |
|
12
|
+
-----BEGIN CERTIFICATE-----
|
13
|
+
MIIDMDCCAhigAwIBAgIBADANBgkqhkiG9w0BAQUFADA+MQswCQYDVQQDDAJ3dzEb
|
14
|
+
MBkGCgmSJomT8ixkARkWC2JsYWNrd2ludGVyMRIwEAYKCZImiZPyLGQBGRYCZGUw
|
15
|
+
HhcNMTMwMTMxMDkyMjIyWhcNMTQwMTMxMDkyMjIyWjA+MQswCQYDVQQDDAJ3dzEb
|
16
|
+
MBkGCgmSJomT8ixkARkWC2JsYWNrd2ludGVyMRIwEAYKCZImiZPyLGQBGRYCZGUw
|
17
|
+
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDVXmfa6rbTwKOvtuGoROc1
|
18
|
+
I4qZjgLX0BA4WecYB97PjwLJmJ1hRvf9JulVCJYYmt5ZEPPXbgi9xLbcp6ofGmnC
|
19
|
+
i68/kbhcz20/fRUtIJ2phU3ypQTEd2pFddpL7SR2FxLkzvvg5E6nslGn7o2erDpO
|
20
|
+
8sm610A3xsgT/eNIr9QA7k4pHh18X1KvZKmmQR4/AjVyKmKawzauKUoHHepjvjVs
|
21
|
+
s0pVoM7UmOmrS4SafQ3OwUo37f19CVdN2/FW7z3e5+iYhKxdIFdhniX9iDWtA3Jn
|
22
|
+
7oUOtiolhCRK4P/c30UjTCDkRkOldsWciFUasROJ5VAV2SVv7FtGHoQLDZ/++tRr
|
23
|
+
AgMBAAGjOTA3MAkGA1UdEwQCMAAwHQYDVR0OBBYEFIAPWU4BEoYUe82hY/0EkoGd
|
24
|
+
Oo/WMAsGA1UdDwQEAwIEsDANBgkqhkiG9w0BAQUFAAOCAQEAf2YnB0mj42of22dA
|
25
|
+
MimgJCAEgB3H5aHbZ6B5WVnFvrC2UUnhP+/kLj/6UgOfqcasy4Xh62NVGuNrf7rF
|
26
|
+
7NMN87XwexGuU2GCpIMUd6VCTA7zMP2OWuXEcba7jT5OtiI55buO0J4CRtyeX1XF
|
27
|
+
qwlGgx4ItcGhMTlDFXj3IkpeVtjD8O7yWE21bHf9lLURmqK/r9KjoxrrVi7+cESJ
|
28
|
+
H19TDW3R9p594jCl1ykPs3dz/0Bk+r1HTd35Yw+yBbyprSJb4S7OcRRHCryuo09l
|
29
|
+
NBGyZvOBuqUp0xostWSk0dfxyn/YQ7eqvQRGBhK1VGa7Tg/KYqnemDE57+VOXrua
|
30
|
+
59wzaA==
|
31
|
+
-----END CERTIFICATE-----
|
32
|
+
date: 2013-08-03 00:00:00.000000000 Z
|
13
33
|
dependencies: []
|
14
34
|
description: Ruby bindings for CDB Constant Databases.
|
15
|
-
email: jens.wille@
|
35
|
+
email: jens.wille@gmail.com
|
16
36
|
executables: []
|
17
37
|
extensions: []
|
18
38
|
extra_rdoc_files:
|
@@ -24,32 +44,34 @@ extra_rdoc_files:
|
|
24
44
|
- ext/libcdb/ruby_cdb_reader.c
|
25
45
|
- ext/libcdb/ruby_cdb_writer.c
|
26
46
|
files:
|
27
|
-
- lib/libcdb-ruby.rb
|
28
47
|
- lib/cdb.rb
|
29
|
-
- lib/libcdb
|
48
|
+
- lib/libcdb-ruby.rb
|
30
49
|
- lib/libcdb.rb
|
50
|
+
- lib/libcdb/version.rb
|
31
51
|
- COPYING
|
32
|
-
- TODO
|
33
52
|
- ChangeLog
|
34
|
-
- Rakefile
|
35
53
|
- README
|
36
|
-
-
|
37
|
-
-
|
38
|
-
- ext/libcdb/libcdb_ruby.def
|
54
|
+
- Rakefile
|
55
|
+
- TODO
|
39
56
|
- ext/libcdb/extconf.rb
|
40
|
-
- ext/libcdb/ruby_cdb_writer.h
|
41
|
-
- ext/libcdb/ruby_libcdb.h
|
42
|
-
- ext/libcdb/ruby_cdb_reader.h
|
43
57
|
- ext/libcdb/libcdb.c
|
44
|
-
- ext/libcdb/
|
58
|
+
- ext/libcdb/libcdb_ruby.def
|
45
59
|
- ext/libcdb/ruby_cdb.c
|
46
|
-
-
|
60
|
+
- ext/libcdb/ruby_cdb.h
|
61
|
+
- ext/libcdb/ruby_cdb_reader.c
|
62
|
+
- ext/libcdb/ruby_cdb_reader.h
|
63
|
+
- ext/libcdb/ruby_cdb_writer.c
|
64
|
+
- ext/libcdb/ruby_cdb_writer.h
|
65
|
+
- ext/libcdb/ruby_libcdb.h
|
47
66
|
- spec/libcdb/reader_spec.rb
|
48
67
|
- spec/libcdb/writer_spec.rb
|
68
|
+
- spec/spec_helper.rb
|
49
69
|
- .rspec
|
50
70
|
- lib/libcdb/libcdb_ruby.so
|
51
71
|
homepage: http://github.com/blackwinter/libcdb-ruby
|
52
|
-
licenses:
|
72
|
+
licenses:
|
73
|
+
- AGPL
|
74
|
+
metadata: {}
|
53
75
|
post_install_message:
|
54
76
|
rdoc_options:
|
55
77
|
- --charset
|
@@ -57,27 +79,25 @@ rdoc_options:
|
|
57
79
|
- --line-numbers
|
58
80
|
- --all
|
59
81
|
- --title
|
60
|
-
- libcdb-ruby Application documentation (v0.0
|
82
|
+
- libcdb-ruby Application documentation (v0.1.0)
|
61
83
|
- --main
|
62
84
|
- README
|
63
85
|
require_paths:
|
64
86
|
- lib
|
65
87
|
required_ruby_version: !ruby/object:Gem::Requirement
|
66
|
-
none: false
|
67
88
|
requirements:
|
68
|
-
- -
|
89
|
+
- - '>='
|
69
90
|
- !ruby/object:Gem::Version
|
70
|
-
version:
|
91
|
+
version: 1.9.2
|
71
92
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
72
|
-
none: false
|
73
93
|
requirements:
|
74
|
-
- -
|
94
|
+
- - '>='
|
75
95
|
- !ruby/object:Gem::Version
|
76
96
|
version: '0'
|
77
97
|
requirements: []
|
78
98
|
rubyforge_project:
|
79
|
-
rubygems_version:
|
99
|
+
rubygems_version: 2.0.6
|
80
100
|
signing_key:
|
81
|
-
specification_version:
|
101
|
+
specification_version: 4
|
82
102
|
summary: Ruby bindings for CDB Constant Databases.
|
83
103
|
test_files: []
|