rediska 0.1.1 → 0.1.2

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