redi2casa 0.0.6 → 0.0.7

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: 94582be2ed9b191df64599de325516127180bd1c
4
- data.tar.gz: eecdde4e35aa8b31f748250ff7d11d03f22c5803
3
+ metadata.gz: 740eebc815573ab9f50c04fdcc2369f1b7dce219
4
+ data.tar.gz: 5553469ad3f930a47e945070a58fdf6a588941f1
5
5
  SHA512:
6
- metadata.gz: 830677f8f3c2ad6f7a1bb8ef7453008f22736ad5609ff3d65c93469ed9878c1b6a0429f9fbf9944916395ca9b489fbf656c94e04c9a1fbf309ad09ed37525749
7
- data.tar.gz: 94e4ed8e98d767ce3b907dd1dc3a2b23ef00e5e295568e1359dedefec44353bdf4720b97a2ccf3b6105a3bfc176054c3d8feb1ed53db5422d841add74537d0c7
6
+ metadata.gz: 938d2f54f42f0ed2f9db11cfccb125f2a8448d7f6620144d5640cec10834e58b88cd0ebea38bba61c01bc8437fc2e264393d41064f034a7a4048714a2e49a363
7
+ data.tar.gz: f75169ec05840606dfab4205d71623f7e0adb9bd2faa44b9d773dacbe88c6f9d06682c3708ffefe894f0433d4931d40950a1a0f2e84effb3dc2f70d6c42af4d9
data/Changes.md CHANGED
@@ -1,3 +1,11 @@
1
+ 0.0.7
2
+ ------
3
+
4
+ - Rewrite bitwise operations to support clearbits
5
+ [clear_bits] (alias clearbits)
6
+ - fix bugs in setbit
7
+ - alias incrby to incr
8
+
1
9
  0.0.6
2
10
  ------
3
11
 
@@ -0,0 +1,6 @@
1
+ class Redi2casa
2
+ def clear_bits key
3
+ del(key, "hash")
4
+ end
5
+ alias :clearbits :clear_bits
6
+ end
data/lib/redi2casa/del.rb CHANGED
@@ -1,6 +1,16 @@
1
1
  class Redi2casa
2
2
  ## Type can be sets, hashes, lists, keyvalue
3
3
  def del key, type
4
- @db_conn.execute("delete from #{type} where key = '#{key}'")
4
+ if type == "counter"
5
+ @db_conn.execute("delete from counters where key = '#{key}'")
6
+ elsif type == 'keyvalue'
7
+ @db_conn.execute("delete from keyvalues where key = '#{key}'")
8
+ elsif type == 'hash'
9
+ @db_conn.execute("delete from hashes where key = '#{key}'")
10
+ elsif type == 'list'
11
+ @db_conn.execute("delete from lists where key = '#{key}'")
12
+ elsif type == 'set'
13
+ @db_conn.execute("delete from sets where key = '#{key}'")
14
+ end
5
15
  end
6
16
  end
@@ -1,6 +1,6 @@
1
1
  class Redi2casa
2
2
  def get_bit key, offset
3
- get("#{key}:#{offset}").to_i
3
+ hget("#{key}", "#{offset}", "hash").to_i
4
4
  end
5
5
  alias :getbit :get_bit
6
6
  end
@@ -1,7 +1,12 @@
1
1
  class Redi2casa
2
2
  # Supports only hashes now
3
- def hlen key
4
- response = @db_conn.execute("select count(*) from hashes where key = '#{key}'")
5
- parse_response(response, "count").to_i
3
+ def hlen key, type = "hash"
4
+ if type == "hash"
5
+ response = @db_conn.execute("select count(*) from hashes where key = '#{key}'")
6
+ parse_response(response, "count").to_i
7
+ elsif type == "counter"
8
+ response = @db_conn.execute("select count(*) from counters where key = '#{key}'")
9
+ parse_response(response, "count").to_i
10
+ end
6
11
  end
7
12
  end
@@ -2,5 +2,6 @@ class Redi2casa
2
2
  def incrby key, value = 1
3
3
  hincrby key, '@', value
4
4
  end
5
+ alias :incr :incrby
5
6
  end
6
7
 
@@ -1,10 +1,10 @@
1
1
  class Redi2casa
2
2
  # FIXME:This could potentially lead to read write problem.
3
3
  def set_bit key, offset, bit
4
- if bit != 0 || bit != 1
4
+ if !(bit != 0 || bit != 1)
5
5
  raise RuntimeError.new("Invalid bit")
6
6
  end
7
- set("#{key}:#{offset}", bit)
7
+ hset("#{key}","#{offset}", bit)
8
8
  end
9
9
  alias :setbit :set_bit
10
10
  end
@@ -1,3 +1,3 @@
1
1
  class Redi2casa
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  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.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - vireshas
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-12-09 00:00:00.000000000 Z
12
+ date: 2013-12-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: cql-rb
@@ -85,6 +85,7 @@ files:
85
85
  - cassandra_cli_cmds
86
86
  - cqlsh_cmds
87
87
  - lib/redi2casa.rb
88
+ - lib/redi2casa/clear_bits.rb
88
89
  - lib/redi2casa/del.rb
89
90
  - lib/redi2casa/get.rb
90
91
  - lib/redi2casa/get_bit.rb