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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dd18585f05fa32a32467fc94d32a86721f605229
4
- data.tar.gz: 33abc1203b205f9a67020ce205223c642c054d4a
3
+ metadata.gz: de96692f25b9172313103adf66490510d7d4a50f
4
+ data.tar.gz: 9418af663843913422de022587630a942ee2ba66
5
5
  SHA512:
6
- metadata.gz: 9c6bcc3c79b86e2a5df2686e4b3a57e6c9093384f24bc6282aa18d8fffe842523f1b29609281e80b05ff2b37240d49e147b9e06dbddfd18b26e9e7063a56c585
7
- data.tar.gz: fd8b78d827d350b5c63c0b6c49a5087fed940bd467e629870bf601ab8a49e428f44ce19f5d9902ce3514c512824454e3e264ca7dba24b73cb61265af8c549a34
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.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) by the [fakeredis](https://github.com/guilleiguaran/fakeredis) gem.
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
@@ -1,6 +1,7 @@
1
1
  require 'redis'
2
2
  require 'rediska/configuration'
3
3
  require 'rediska/connection'
4
+ require 'rediska/sidekiq'
4
5
 
5
6
  module Rediska
6
7
  extend self
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Rediska
2
- VERSION = '0.1.1'.freeze
2
+ VERSION = '0.1.2'.freeze
3
3
  end
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
@@ -2,6 +2,8 @@ ENV['RACK_ENV'] = 'test'
2
2
 
3
3
  require 'rubygems'
4
4
  require 'coveralls'
5
+ require 'pry'
6
+ require 'sidekiq'
5
7
  require 'rediska'
6
8
 
7
9
  Coveralls.wear!
@@ -1,8 +1,4 @@
1
- require 'spec_helper'
2
-
3
- describe Rediska::Driver do
4
- subject { Redis.new }
5
-
1
+ shared_examples 'driver' do
6
2
  describe '#time' do
7
3
  before(:each) do
8
4
  allow(Time).to receive_message_chain(:now, :to_f).and_return(1397845595.5139461)
@@ -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.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-05 00:00:00.000000000 Z
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