rocksdb-ruby 0.0.6 → 0.0.7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7004e4d2e482db223112f32242d96ac95903eca3
4
- data.tar.gz: 8c4c17f150b89f4ac103e0cf25efa4248b662db3
3
+ metadata.gz: 877a71b0f471b4a5c045c73357baba3aa15f60d0
4
+ data.tar.gz: 2bd8f14ce238885afa810d742fc70eb3cd8ea608
5
5
  SHA512:
6
- metadata.gz: c0fbfd343a345996ef5f399f3de46e4947a1d3d9133ad067ad54e3c77b6f599e77afd3655506ba48d0d6366066d9b2bc46e2d9a3f9f05aa11c6438cdb7b68f4c
7
- data.tar.gz: e598affdc5c818af3e9ad5644000d68da9bea2bc079d19c2353b3dad4601f6e601c435a015a7760d56d2a7d88ee96491e671cdc6cef2ea2406a297f70b219a15
6
+ metadata.gz: d2c9e587b5ffe39364ee6bd2ccf89214a5d1f1f618e9dd5e9b1a6f400ffbdec21e2b43200f042640ae75888fac551fc39cedb58484ff97bf246f1d0dd3d1859f
7
+ data.tar.gz: 97f1ad5e431da4953ba5850d425f51cccf9d817e56a787e6266f96b845e5bdfb9fa20f58f01cea7fcc48ad8d2524ffd9fa48cb55076f44f77733c3546142d603
data/README.md CHANGED
@@ -24,7 +24,7 @@ Or install it yourself as:
24
24
 
25
25
  ## Usage
26
26
 
27
- require "RocksDB"
27
+ require "rocksdb"
28
28
 
29
29
  # Reads And Writes
30
30
  key = "test"
@@ -106,7 +106,19 @@ extern "C" {
106
106
 
107
107
  return status.ok() ? Qtrue : Qfalse;
108
108
  }
109
-
109
+
110
+ VALUE rocksdb_db_exists(VALUE self, VALUE v_key){
111
+ Check_Type(v_key, T_STRING);
112
+
113
+ rocksdb_pointer* db_pointer;
114
+ Data_Get_Struct(self, rocksdb_pointer, db_pointer);
115
+
116
+ std::string key = std::string((char*)RSTRING_PTR(v_key));
117
+ std::string value = std::string();
118
+
119
+ return db_pointer->db->KeyMayExist(rocksdb::ReadOptions(), key, &value) ? Qtrue : Qfalse;
120
+ }
121
+
110
122
  VALUE rocksdb_db_close(VALUE self){
111
123
  rocksdb_pointer* db_pointer;
112
124
  Data_Get_Struct(self, rocksdb_pointer, db_pointer);
@@ -174,15 +186,5 @@ extern "C" {
174
186
  }
175
187
 
176
188
  VALUE rocksdb_db_debug(VALUE self){
177
-
178
- rocksdb_pointer* db_pointer;
179
- Data_Get_Struct(self, rocksdb_pointer, db_pointer);
180
- rocksdb::Iterator* it = db_pointer->db->NewIterator(rocksdb::ReadOptions());
181
-
182
- for (it->SeekToFirst(); it->Valid(); it->Next()) {
183
- std::cout << it->key().ToString() << ": " << it->value().ToString() << std::endl;
184
- }
185
- delete it;
186
- return Qnil;
187
189
  }
188
190
  }
@@ -10,6 +10,7 @@ extern "C" {
10
10
  VALUE rocksdb_db_get(VALUE self, VALUE v_key);
11
11
  VALUE rocksdb_db_multi_get(VALUE self, VALUE v_array);
12
12
  VALUE rocksdb_db_delete(VALUE self, VALUE v_key);
13
+ VALUE rocksdb_db_exists(VALUE self, VALUE v_key);
13
14
  VALUE rocksdb_db_close(VALUE self);
14
15
  VALUE rocksdb_db_debug(VALUE self);
15
16
  VALUE rocksdb_db_new_iterator(VALUE self);
@@ -16,7 +16,7 @@ extern "C" {
16
16
  VALUE cRocksdb_write_options;
17
17
  VALUE cRocksdb_status;
18
18
 
19
- cRocksdb = rb_define_class("RocksDB", rb_cObject);
19
+ cRocksdb = rb_define_module("RocksDB");
20
20
  cRocksdb_db = rb_define_class_under(cRocksdb, "DB", rb_cObject);
21
21
  rb_define_alloc_func(cRocksdb_db, db_alloc);
22
22
 
@@ -26,6 +26,7 @@ extern "C" {
26
26
  rb_define_method(cRocksdb_db, "get", (METHOD)rocksdb_db_get, 1);
27
27
  rb_define_method(cRocksdb_db, "multi_get", (METHOD)rocksdb_db_multi_get, 1);
28
28
  rb_define_method(cRocksdb_db, "delete", (METHOD)rocksdb_db_delete, 1);
29
+ rb_define_method(cRocksdb_db, "exists?", (METHOD)rocksdb_db_exists, 1);
29
30
  rb_define_method(cRocksdb_db, "close", (METHOD)rocksdb_db_close, 0);
30
31
  rb_define_method(cRocksdb_db, "debug", (METHOD)rocksdb_db_debug, 0);
31
32
  rb_define_method(cRocksdb_db, "new_iterator", (METHOD)rocksdb_db_new_iterator, 0);
@@ -1,5 +1,5 @@
1
1
  module Rocksdb
2
2
  module Ruby
3
- VERSION = "0.0.6"
3
+ VERSION = "0.0.7"
4
4
  end
5
5
  end
data/lib/rocksdb/ruby.rb CHANGED
@@ -1,7 +0,0 @@
1
- require "rocksdb/ruby/version"
2
-
3
- module Rocksdb
4
- module Ruby
5
- # Your code goes here...
6
- end
7
- end
data/lib/rocksdb.rb ADDED
@@ -0,0 +1,16 @@
1
+ require "RocksDB/RocksDB" # the c extension
2
+ require "rocksdb/ruby/version"
3
+
4
+ module RocksDB
5
+ class DB
6
+ class << self
7
+ end
8
+
9
+ alias :includes? :exists?
10
+ alias :contains? :exists?
11
+ alias :member? :exists?
12
+ alias :[] :get
13
+ alias :[]= :put
14
+ alias :close! :close
15
+ end
16
+ end
data/spec/db_spec.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  require 'spec_helper'
3
- require "RocksDB"
3
+ require "rocksdb"
4
4
 
5
5
  describe RocksDB do
6
6
  before do
@@ -81,6 +81,17 @@ describe RocksDB do
81
81
  expect(array).to eq rev_array.reverse
82
82
 
83
83
  end
84
+
85
+ it 'should exists?' do
86
+ @rocksdb.put("test:exists?", "a")
87
+ @rocksdb.delete("test:noexists?")
88
+ expect(@rocksdb.exists?("test:exists?")).to be_true
89
+ expect(@rocksdb.exists?("test:noexists?")).to be_false
90
+
91
+ expect(@rocksdb.includes?("test:exists?")).to be_true
92
+ expect(@rocksdb.includes?("test:noexists?")).to be_false
93
+
94
+ end
84
95
 
85
96
  after do
86
97
  @rocksdb.close
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rocksdb-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Isamu Arimoto
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-30 00:00:00.000000000 Z
11
+ date: 2013-12-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -76,6 +76,7 @@ files:
76
76
  - ext/rocksdb/rocksdb_rb.h
77
77
  - ext/rocksdb/rocksdb_status_rb.cc
78
78
  - ext/rocksdb/rocksdb_status_rb.h
79
+ - lib/rocksdb.rb
79
80
  - lib/rocksdb/ruby.rb
80
81
  - lib/rocksdb/ruby/version.rb
81
82
  - rocksdb-ruby.gemspec