redi2casa 0.1.0 → 0.1.1

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: 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: