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