redi2casa 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7e30d9a052af75a53c0350e6224863ecadaafd64
4
- data.tar.gz: 7d305b139be87ba4da02e265fe956bc9908e9660
3
+ metadata.gz: 8864b86636142369894dab69c3571dfc3f6db506
4
+ data.tar.gz: 5ca0cde38d25a3bf655f14fc5d006ee9ff6dfaf1
5
5
  SHA512:
6
- metadata.gz: 95292413c555755804bc3ec1d139080c1c96fc0019a24f1584fa1106c75ab9c3dc30c05f88b71597adcce1258180ff2585b4c6d95349a176ff9baedbee009889
7
- data.tar.gz: fbdfc6b9fbbbe16d8b4f2f3bfce4ff648d0d31d9e33a718c74c6cf206a1ed629f460e677a6060a7659f810541624966a27aac120a962d185b0beffcfa5213c84
6
+ metadata.gz: 98ea0ef507af4a811aa637e6a22d19a4c5bb100ffe297af047607ef3c82f9fcf012ad435370fa5eead72b38ccbe2d7d465b445432f4b2e2b8afbb1b63dd55a46
7
+ data.tar.gz: ae9644a1799261a15229ec5fd9c7851c6eeb779e9f7caacb77d4a88005d7d34f849d10a966e92e24e6a0ed6e93147c9cc82892b4b9b9859384ce7f54749a7fab
data/Changes.md CHANGED
@@ -1,3 +1,14 @@
1
+ 0.1.1
2
+ -----
3
+
4
+ - Support for zset operations
5
+ [ zadd, zrem, zrangebyscore, zscore]
6
+
7
+ 0.1.0
8
+ ------
9
+
10
+ - Support for hmget
11
+
1
12
  0.0.9
2
13
  ------
3
14
  - Fix bug in smembers which should return empty array instead of nil
data/cqlsh_cmds CHANGED
@@ -3,3 +3,4 @@ use redi2casa;
3
3
  create table lists(namespace text primary key, values list<text>);
4
4
  create table keyvalue(key text primary key, value text);
5
5
  create table sets(key text primary key, members set<text>);
6
+ create table sorted_sets(key text, score int, value text, random_text text, PRIMARY KEY (key, score, value, random_text));
data/lib/redi2casa/del.rb CHANGED
@@ -11,6 +11,8 @@ class Redi2casa
11
11
  @db_conn.execute("delete from lists where key = '#{key}'")
12
12
  elsif type == 'set'
13
13
  @db_conn.execute("delete from sets where key = '#{key}'")
14
+ elsif type == 'sorted_set'
15
+ @db_conn.execute("delete from sorted_sets where key = '#{key}'")
14
16
  end
15
17
  end
16
18
  end
@@ -1,3 +1,3 @@
1
1
  class Redi2casa
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
@@ -0,0 +1,6 @@
1
+ class Redi2casa
2
+ # Random text is an extra column added to make sure we have multiple entries with same key, score and value
3
+ def zadd key, score, value
4
+ @db_conn.execute("insert into sorted_sets (key, score,value, random_text) values ('#{key}',#{score}, '#{value}', '#{Time.now.to_i}')")
5
+ end
6
+ end
@@ -0,0 +1,12 @@
1
+ class Redi2casa
2
+ def zrangebyscore key, lower_limit, higher_limit = -1
3
+ if higher_limit == -1
4
+ resp = @db_conn.execute("select value from sorted_sets where key = '#{key}' and score > #{lower_limit}")
5
+ else
6
+ resp = @db_conn.execute("select value from sorted_sets where key = '#{key}' and score > #{lower_limit} and score < #{higher_limit}")
7
+ end
8
+ resp.collect do |entry|
9
+ entry['value']
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,8 @@
1
+ class Redi2casa
2
+ def zrem key, member
3
+ resp = @db_conn.execute("select * from sorted_sets where key = '#{key}'")
4
+ resp.each do |entry|
5
+ @db_conn.execute("delete from sorted_sets where key = '#{key}' and score = #{entry['score']} and value = '#{entry['value']}'") if entry['value'] == member.to_s
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,9 @@
1
+ class Redi2casa
2
+ def zscore key, value
3
+ resp = @db_conn.execute("select * from sorted_sets where key = '#{key}'")
4
+ resp.each do |entry|
5
+ return entry['score'] if entry['value'] == value.to_s
6
+ end
7
+ nil
8
+ end
9
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redi2casa
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - vireshas
@@ -115,6 +115,10 @@ files:
115
115
  - lib/redi2casa/spop.rb
116
116
  - lib/redi2casa/srem.rb
117
117
  - lib/redi2casa/version.rb
118
+ - lib/redi2casa/zadd.rb
119
+ - lib/redi2casa/zrangebyscore.rb
120
+ - lib/redi2casa/zrem.rb
121
+ - lib/redi2casa/zscore.rb
118
122
  - redi2casa.gemspec
119
123
  homepage: https://github.com/vireshas/redi2casa
120
124
  licenses: