rediska 0.1.1 → 0.1.2
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/Gemfile.lock +38 -1
- data/README.md +4 -1
- data/lib/rediska.rb +1 -0
- data/lib/rediska/sidekiq.rb +18 -0
- data/lib/rediska/version.rb +1 -1
- data/rediska.gemspec +4 -0
- data/spec/redis_spec.rb +6 -13
- data/spec/spec_helper.rb +2 -0
- data/spec/{lib/rediska/driver_spec.rb → support/driver.rb} +1 -5
- data/spec/support/sidekiq.rb +16 -0
- metadata +63 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: de96692f25b9172313103adf66490510d7d4a50f
|
4
|
+
data.tar.gz: 9418af663843913422de022587630a942ee2ba66
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ba54fdba119163ae8266f73eb8e3bf7fd737a2e21198a08421b6b8af6f3f07ad2d20f6d1225d87f066121d0f338bf516065307ab16d688819a5c92f7e15ad0dc
|
7
|
+
data.tar.gz: 107d5106be158fbc5ac1dcf28f86f5aef9d9d38378786a2d094b615271ff2a37385af4b2a4f7b861014acc31d83e2d0594f2acc4e3e23f9152093f528df0a9c5
|
data/Gemfile.lock
CHANGED
@@ -1,27 +1,52 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
rediska (0.1.
|
4
|
+
rediska (0.1.2)
|
5
5
|
redis (~> 3.0.0)
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: http://rubygems.org/
|
9
9
|
specs:
|
10
|
+
binding_of_caller (0.7.2)
|
11
|
+
debug_inspector (>= 0.0.1)
|
12
|
+
byebug (2.7.0)
|
13
|
+
columnize (~> 0.3)
|
14
|
+
debugger-linecache (~> 1.2)
|
15
|
+
celluloid (0.15.2)
|
16
|
+
timers (~> 1.1.0)
|
17
|
+
coderay (1.1.0)
|
18
|
+
columnize (0.8.9)
|
19
|
+
connection_pool (2.0.0)
|
10
20
|
coveralls (0.7.0)
|
11
21
|
multi_json (~> 1.3)
|
12
22
|
rest-client
|
13
23
|
simplecov (>= 0.7)
|
14
24
|
term-ansicolor
|
15
25
|
thor
|
26
|
+
debug_inspector (0.0.2)
|
27
|
+
debugger-linecache (1.2.0)
|
16
28
|
diff-lcs (1.2.5)
|
17
29
|
docile (1.1.3)
|
18
30
|
json (1.8.1)
|
31
|
+
method_source (0.8.2)
|
19
32
|
mime-types (2.3)
|
20
33
|
multi_json (1.10.1)
|
34
|
+
pry (0.9.12.6)
|
35
|
+
coderay (~> 1.0)
|
36
|
+
method_source (~> 0.8)
|
37
|
+
slop (~> 3.4)
|
38
|
+
pry-byebug (1.3.2)
|
39
|
+
byebug (~> 2.7)
|
40
|
+
pry (~> 0.9.12)
|
41
|
+
pry-stack_explorer (0.4.9.1)
|
42
|
+
binding_of_caller (>= 0.7)
|
43
|
+
pry (>= 0.9.11)
|
21
44
|
rake (10.3.2)
|
22
45
|
rdoc (4.1.1)
|
23
46
|
json (~> 1.4)
|
24
47
|
redis (3.0.7)
|
48
|
+
redis-namespace (1.4.1)
|
49
|
+
redis (~> 3.0.4)
|
25
50
|
rest-client (1.6.7)
|
26
51
|
mime-types (>= 1.16)
|
27
52
|
rspec (3.0.0)
|
@@ -36,14 +61,22 @@ GEM
|
|
36
61
|
rspec-mocks (3.0.0)
|
37
62
|
rspec-support (~> 3.0.0)
|
38
63
|
rspec-support (3.0.0)
|
64
|
+
sidekiq (3.1.3)
|
65
|
+
celluloid (>= 0.15.2)
|
66
|
+
connection_pool (>= 2.0.0)
|
67
|
+
json
|
68
|
+
redis (>= 3.0.6)
|
69
|
+
redis-namespace (>= 1.3.1)
|
39
70
|
simplecov (0.8.2)
|
40
71
|
docile (~> 1.1.0)
|
41
72
|
multi_json
|
42
73
|
simplecov-html (~> 0.8.0)
|
43
74
|
simplecov-html (0.8.0)
|
75
|
+
slop (3.5.0)
|
44
76
|
term-ansicolor (1.3.0)
|
45
77
|
tins (~> 1.0)
|
46
78
|
thor (0.19.1)
|
79
|
+
timers (1.1.0)
|
47
80
|
tins (1.3.0)
|
48
81
|
|
49
82
|
PLATFORMS
|
@@ -51,7 +84,11 @@ PLATFORMS
|
|
51
84
|
|
52
85
|
DEPENDENCIES
|
53
86
|
coveralls
|
87
|
+
pry
|
88
|
+
pry-byebug
|
89
|
+
pry-stack_explorer
|
54
90
|
rake
|
55
91
|
rdoc
|
56
92
|
rediska!
|
57
93
|
rspec
|
94
|
+
sidekiq (>= 3.0)
|
data/README.md
CHANGED
@@ -12,6 +12,9 @@ Currently, rediska is currently only compliant with redis 3 and supports the fol
|
|
12
12
|
* Memory (default): the data is being stored entirely in the memory and is not persistent nor shared between different processed.
|
13
13
|
* Filesystem: the data is being backed by the filesystem and even though slower than the in-memory implementation, it does provides persistency (to some extent, as the data is being stored in a temporary folder) and can be accessed across the different processes.
|
14
14
|
|
15
|
+
Additional integrations:
|
16
|
+
* Seamless integration with Sidekiq.
|
17
|
+
|
15
18
|
## Setup
|
16
19
|
|
17
20
|
If you are using bundler add rediska to your Gemfile:
|
@@ -65,7 +68,7 @@ end
|
|
65
68
|
|
66
69
|
## Credits and Contributors
|
67
70
|
|
68
|
-
This gem was inspired (and originally forked from)
|
71
|
+
This gem was inspired by (and originally forked from) the [fakeredis](https://github.com/guilleiguaran/fakeredis) gem.
|
69
72
|
|
70
73
|
## License
|
71
74
|
|
data/lib/rediska.rb
CHANGED
@@ -0,0 +1,18 @@
|
|
1
|
+
if defined?(Sidekiq)
|
2
|
+
# For seamless integration with Sidekiq, we need to patch its configuration and pass down our
|
3
|
+
# driver.
|
4
|
+
#
|
5
|
+
# Note: currently, this is being achieved by monkey patching Sidekiq directly. Better solutions
|
6
|
+
# are more than welcome! :).
|
7
|
+
module Sidekiq
|
8
|
+
class RedisConnection
|
9
|
+
class << self
|
10
|
+
alias_method :old_create, :create
|
11
|
+
|
12
|
+
def create(options = {})
|
13
|
+
old_create(options.merge!(driver: Rediska::Connection))
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/lib/rediska/version.rb
CHANGED
data/rediska.gemspec
CHANGED
@@ -22,4 +22,8 @@ Gem::Specification.new do |s|
|
|
22
22
|
s.add_development_dependency 'rspec'
|
23
23
|
s.add_development_dependency 'coveralls'
|
24
24
|
s.add_development_dependency 'rake'
|
25
|
+
s.add_development_dependency 'pry'
|
26
|
+
s.add_development_dependency 'pry-byebug'
|
27
|
+
s.add_development_dependency 'pry-stack_explorer'
|
28
|
+
s.add_development_dependency 'sidekiq', '>= 3.0'
|
25
29
|
end
|
data/spec/redis_spec.rb
CHANGED
@@ -12,6 +12,9 @@ shared_examples 'redis' do
|
|
12
12
|
it_behaves_like 'transactions'
|
13
13
|
it_behaves_like 'sorted sets'
|
14
14
|
it_behaves_like 'upcase method names'
|
15
|
+
|
16
|
+
it_behaves_like 'driver'
|
17
|
+
it_behaves_like 'sidekiq'
|
15
18
|
end
|
16
19
|
|
17
20
|
describe 'Rediska' do
|
@@ -21,15 +24,13 @@ describe 'Rediska' do
|
|
21
24
|
Rediska.configure do |config|
|
22
25
|
config.namespace = 'rediska_test'
|
23
26
|
end
|
27
|
+
|
28
|
+
subject.flushall
|
29
|
+
subject.discard rescue nil
|
24
30
|
end
|
25
31
|
|
26
32
|
context 'fake redis' do
|
27
33
|
context 'memory' do
|
28
|
-
before do
|
29
|
-
subject.flushall
|
30
|
-
subject.discard rescue nil
|
31
|
-
end
|
32
|
-
|
33
34
|
it_behaves_like 'redis'
|
34
35
|
end
|
35
36
|
|
@@ -38,9 +39,6 @@ describe 'Rediska' do
|
|
38
39
|
Rediska.configure do |config|
|
39
40
|
config.database = :filesystem
|
40
41
|
end
|
41
|
-
|
42
|
-
subject.flushall
|
43
|
-
subject.discard rescue nil
|
44
42
|
end
|
45
43
|
|
46
44
|
it_behaves_like 'redis'
|
@@ -48,11 +46,6 @@ describe 'Rediska' do
|
|
48
46
|
end
|
49
47
|
|
50
48
|
pending 'real redis (interoperability)' do
|
51
|
-
before do
|
52
|
-
subject.flushall
|
53
|
-
subject.discard rescue nil
|
54
|
-
end
|
55
|
-
|
56
49
|
before(:all) do
|
57
50
|
Redis::Connection.drivers.pop
|
58
51
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -0,0 +1,16 @@
|
|
1
|
+
shared_examples 'sidekiq' do
|
2
|
+
describe Sidekiq do
|
3
|
+
class Worker
|
4
|
+
include Sidekiq::Worker
|
5
|
+
|
6
|
+
def perform(data)
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'integrates with sidekiq' do
|
11
|
+
expect {
|
12
|
+
Worker.perform_async('spec')
|
13
|
+
}.not_to raise_error
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rediska
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Leonid Beder
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06-
|
11
|
+
date: 2014-06-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: redis
|
@@ -66,6 +66,62 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: pry
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: pry-byebug
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: pry-stack_explorer
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: sidekiq
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '3.0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '3.0'
|
69
125
|
description: |-
|
70
126
|
A light-weighted redis driver for testing, development, and minimal environments,
|
71
127
|
which supports various data storage strategies.
|
@@ -91,6 +147,7 @@ files:
|
|
91
147
|
- lib/rediska/databases/memory.rb
|
92
148
|
- lib/rediska/databases/pstore.rb
|
93
149
|
- lib/rediska/driver.rb
|
150
|
+
- lib/rediska/sidekiq.rb
|
94
151
|
- lib/rediska/sort_method.rb
|
95
152
|
- lib/rediska/sorted_set_argument_handler.rb
|
96
153
|
- lib/rediska/sorted_set_store.rb
|
@@ -98,16 +155,17 @@ files:
|
|
98
155
|
- lib/rediska/version.rb
|
99
156
|
- lib/rediska/zset.rb
|
100
157
|
- rediska.gemspec
|
101
|
-
- spec/lib/rediska/driver_spec.rb
|
102
158
|
- spec/redis_spec.rb
|
103
159
|
- spec/spec_helper.rb
|
104
160
|
- spec/support/compatibility.rb
|
105
161
|
- spec/support/connection.rb
|
162
|
+
- spec/support/driver.rb
|
106
163
|
- spec/support/hashes.rb
|
107
164
|
- spec/support/keys.rb
|
108
165
|
- spec/support/lists.rb
|
109
166
|
- spec/support/server.rb
|
110
167
|
- spec/support/sets.rb
|
168
|
+
- spec/support/sidekiq.rb
|
111
169
|
- spec/support/sorted_method.rb
|
112
170
|
- spec/support/sorted_sets.rb
|
113
171
|
- spec/support/strings.rb
|
@@ -138,16 +196,17 @@ signing_key:
|
|
138
196
|
specification_version: 4
|
139
197
|
summary: A light-weighted redis driver for testing, development, and minimal environments
|
140
198
|
test_files:
|
141
|
-
- spec/lib/rediska/driver_spec.rb
|
142
199
|
- spec/redis_spec.rb
|
143
200
|
- spec/spec_helper.rb
|
144
201
|
- spec/support/compatibility.rb
|
145
202
|
- spec/support/connection.rb
|
203
|
+
- spec/support/driver.rb
|
146
204
|
- spec/support/hashes.rb
|
147
205
|
- spec/support/keys.rb
|
148
206
|
- spec/support/lists.rb
|
149
207
|
- spec/support/server.rb
|
150
208
|
- spec/support/sets.rb
|
209
|
+
- spec/support/sidekiq.rb
|
151
210
|
- spec/support/sorted_method.rb
|
152
211
|
- spec/support/sorted_sets.rb
|
153
212
|
- spec/support/strings.rb
|