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 +4 -4
- data/Changes.md +11 -0
- data/cqlsh_cmds +1 -0
- data/lib/redi2casa/del.rb +2 -0
- data/lib/redi2casa/version.rb +1 -1
- data/lib/redi2casa/zadd.rb +6 -0
- data/lib/redi2casa/zrangebyscore.rb +12 -0
- data/lib/redi2casa/zrem.rb +8 -0
- data/lib/redi2casa/zscore.rb +9 -0
- metadata +5 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8864b86636142369894dab69c3571dfc3f6db506
|
4
|
+
data.tar.gz: 5ca0cde38d25a3bf655f14fc5d006ee9ff6dfaf1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 98ea0ef507af4a811aa637e6a22d19a4c5bb100ffe297af047607ef3c82f9fcf012ad435370fa5eead72b38ccbe2d7d465b445432f4b2e2b8afbb1b63dd55a46
|
7
|
+
data.tar.gz: ae9644a1799261a15229ec5fd9c7851c6eeb779e9f7caacb77d4a88005d7d34f849d10a966e92e24e6a0ed6e93147c9cc82892b4b9b9859384ce7f54749a7fab
|
data/Changes.md
CHANGED
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
|
data/lib/redi2casa/version.rb
CHANGED
@@ -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
|
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.
|
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:
|