redi2casa 0.0.5 → 0.0.6

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: 6d5b3420d36a8292cb6d06c1a4e0233731ad4446
4
- data.tar.gz: 415d1260880d010fbd378cdc5d33d8c024b9719a
3
+ metadata.gz: 94582be2ed9b191df64599de325516127180bd1c
4
+ data.tar.gz: eecdde4e35aa8b31f748250ff7d11d03f22c5803
5
5
  SHA512:
6
- metadata.gz: b1c2e4898460665dda13bc1c6ceeb97e21089a9d19445eb3bd8244c7e9d8ef874db846cba4323795c325588d69bb4dd66119f3090872e1adaa96f73e575a6067
7
- data.tar.gz: 8163288c905fa1845881c8b359c576d0a5a7c6fdf0164910faf6142b230ff4221232607899277c52b3588548d8346cf7ac7ee386aa15d13f5e888c84b000320c
6
+ metadata.gz: 830677f8f3c2ad6f7a1bb8ef7453008f22736ad5609ff3d65c93469ed9878c1b6a0429f9fbf9944916395ca9b489fbf656c94e04c9a1fbf309ad09ed37525749
7
+ data.tar.gz: 94e4ed8e98d767ce3b907dd1dc3a2b23ef00e5e295568e1359dedefec44353bdf4720b97a2ccf3b6105a3bfc176054c3d8feb1ed53db5422d841add74537d0c7
data/Changes.md CHANGED
@@ -1,3 +1,19 @@
1
+ 0.0.6
2
+ ------
3
+
4
+ - Support bitwise operations
5
+ [ get_bit, set_bit ] (alias getbit, setbit)
6
+ - counter operations incrby
7
+
8
+ 0.0.5
9
+ ------
10
+
11
+ - Hash rewrite and adding support for more operations
12
+ [ hlen, hkeys, hdel ]
13
+ - Support for more set operations
14
+ [ scard, sismember]
15
+
16
+
1
17
  0.0.4
2
18
  -------
3
19
 
data/Gemfile.lock CHANGED
@@ -2,13 +2,11 @@ PATH
2
2
  remote: .
3
3
  specs:
4
4
  redi2casa (0.0.4)
5
- bitwise
6
5
  cql-rb
7
6
 
8
7
  GEM
9
8
  remote: https://rubygems.org/
10
9
  specs:
11
- bitwise (0.6.0)
12
10
  cql-rb (1.1.1)
13
11
  rake (10.1.0)
14
12
 
data/lib/redi2casa/get.rb CHANGED
@@ -1,6 +1,12 @@
1
1
  class Redi2casa
2
- def get key
3
- resp = @db_conn.execute("select * from keyvalue where key = '#{key}'")
4
- parse_response(resp, "value")
2
+ def get key, type = 'keyvalue'
3
+ if type == 'keyvalue'
4
+ resp = @db_conn.execute("select * from keyvalue where key = '#{key}'")
5
+ parse_response(resp, "value")
6
+ elsif type == 'counter'
7
+ # @ is a special column in counter used by incrby
8
+ resp = @db_conn.execute("select value from counters where KEY='#{key}' and column1 = '@'")
9
+ parse_response(resp, "value").to_i
10
+ end
5
11
  end
6
12
  end
@@ -0,0 +1,6 @@
1
+ class Redi2casa
2
+ def get_bit key, offset
3
+ get("#{key}:#{offset}").to_i
4
+ end
5
+ alias :getbit :get_bit
6
+ end
@@ -0,0 +1,6 @@
1
+ class Redi2casa
2
+ def incrby key, value = 1
3
+ hincrby key, '@', value
4
+ end
5
+ end
6
+
@@ -0,0 +1,10 @@
1
+ class Redi2casa
2
+ # FIXME:This could potentially lead to read write problem.
3
+ def set_bit key, offset, bit
4
+ if bit != 0 || bit != 1
5
+ raise RuntimeError.new("Invalid bit")
6
+ end
7
+ set("#{key}:#{offset}", bit)
8
+ end
9
+ alias :setbit :set_bit
10
+ end
@@ -1,3 +1,3 @@
1
1
  class Redi2casa
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.6"
3
3
  end
data/redi2casa.gemspec CHANGED
@@ -19,7 +19,6 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.add_runtime_dependency "cql-rb"
22
- spec.add_runtime_dependency "bitwise"
23
22
 
24
23
  spec.add_development_dependency "cql-rb"
25
24
  spec.add_development_dependency "bundler"
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.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - vireshas
@@ -25,20 +25,6 @@ dependencies:
25
25
  - - '>='
26
26
  - !ruby/object:Gem::Version
27
27
  version: '0'
28
- - !ruby/object:Gem::Dependency
29
- name: bitwise
30
- requirement: !ruby/object:Gem::Requirement
31
- requirements:
32
- - - '>='
33
- - !ruby/object:Gem::Version
34
- version: '0'
35
- type: :runtime
36
- prerelease: false
37
- version_requirements: !ruby/object:Gem::Requirement
38
- requirements:
39
- - - '>='
40
- - !ruby/object:Gem::Version
41
- version: '0'
42
28
  - !ruby/object:Gem::Dependency
43
29
  name: cql-rb
44
30
  requirement: !ruby/object:Gem::Requirement
@@ -101,6 +87,7 @@ files:
101
87
  - lib/redi2casa.rb
102
88
  - lib/redi2casa/del.rb
103
89
  - lib/redi2casa/get.rb
90
+ - lib/redi2casa/get_bit.rb
104
91
  - lib/redi2casa/hdel.rb
105
92
  - lib/redi2casa/hget.rb
106
93
  - lib/redi2casa/hgetall.rb
@@ -108,6 +95,7 @@ files:
108
95
  - lib/redi2casa/hkeys.rb
109
96
  - lib/redi2casa/hlen.rb
110
97
  - lib/redi2casa/hset.rb
98
+ - lib/redi2casa/incrby.rb
111
99
  - lib/redi2casa/lpop.rb
112
100
  - lib/redi2casa/lpush.rb
113
101
  - lib/redi2casa/lrange.rb
@@ -118,6 +106,7 @@ files:
118
106
  - lib/redi2casa/sadd_with_expire.rb
119
107
  - lib/redi2casa/scard.rb
120
108
  - lib/redi2casa/set.rb
109
+ - lib/redi2casa/set_bit.rb
121
110
  - lib/redi2casa/setex.rb
122
111
  - lib/redi2casa/sismember.rb
123
112
  - lib/redi2casa/smembers.rb