sidekiq-encryptor 0.0.1

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: fbf6216993306970a0046e788f4b033a8565db1e
4
+ data.tar.gz: db90b1555b00991e53aca580cb923872b5c5e99c
5
+ SHA512:
6
+ metadata.gz: 5dc4b9b01365ad77d9c833bedc238c64c7a5a4a7e6e25d4ba0660f573f891f8082bedc1991b8da88ac1a92ae95f37211d7c8e94f3486c439ffb091ead339853c
7
+ data.tar.gz: f7dc81e8b26fcd47c5d244a6fca04f23ae0ae34155140acbdf1a3e12a0a050af09142ce5d3beaad5670757a9791bbae6bcdedc85421d283409a9aa1ce500adff
data/.gitignore ADDED
@@ -0,0 +1,18 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .rspec
6
+ .yardoc
7
+ Gemfile.lock
8
+ InstalledFiles
9
+ _yardoc
10
+ coverage
11
+ doc/
12
+ lib/bundler/man
13
+ pkg
14
+ rdoc
15
+ spec/reports
16
+ test/tmp
17
+ test/version_tmp
18
+ tmp
data/.pryrc ADDED
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env ruby
2
+ # -*- mode: ruby -*-
3
+ # vi: set ft=ruby :
4
+
5
+ require 'pathname'
6
+ $LOAD_PATH.unshift(Pathname.getwd.join('lib').to_s)
7
+ require 'sidekiq/throttler'
8
+
9
+ def reload!
10
+ Dir["#{Dir.pwd}/lib/**/*.rb"].each { |f| load f }
11
+ end
data/.travis.yml ADDED
@@ -0,0 +1,17 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.0.0
4
+ - 1.9.3
5
+ - jruby-19mode
6
+ - rbx-19mode
7
+ branches:
8
+ only:
9
+ - master
10
+ notifications:
11
+ email:
12
+ recipients:
13
+ - gabe@ga.be
14
+ matrix:
15
+ allow_failures:
16
+ - rvm: jruby-19mode
17
+ - rvm: rbx-19mode
data/.yardopts ADDED
@@ -0,0 +1,3 @@
1
+ --title 'Sidekiq::Encryptor Documentation'
2
+ --charset utf-8
3
+ --markup markdown
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in sidekiq-throttler.gemspec
4
+ gemspec
data/Guardfile ADDED
@@ -0,0 +1,16 @@
1
+ guard 'bundler' do
2
+ watch('Gemfile')
3
+ watch('sidekiq-throttler.gemspec')
4
+ end
5
+
6
+ guard 'rspec' do
7
+ watch(%r{^spec/app/.+_worker\.rb$}) { 'spec' }
8
+ watch(%r{^spec/.+_spec\.rb$})
9
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
10
+ watch('spec/spec_helper.rb') { 'spec' }
11
+ end
12
+
13
+ guard 'yard' do
14
+ watch(%r{app/.+\.rb})
15
+ watch(%r{lib/.+\.rb})
16
+ end
data/LICENSE.txt ADDED
@@ -0,0 +1,24 @@
1
+ Copyright (c) 2013 Jonathan Dance
2
+
3
+ Portions of initial project skeleton are copyright (c) 2012 Gabe Evans
4
+
5
+ MIT License
6
+
7
+ Permission is hereby granted, free of charge, to any person obtaining
8
+ a copy of this software and associated documentation files (the
9
+ "Software"), to deal in the Software without restriction, including
10
+ without limitation the rights to use, copy, modify, merge, publish,
11
+ distribute, sublicense, and/or sell copies of the Software, and to
12
+ permit persons to whom the Software is furnished to do so, subject to
13
+ the following conditions:
14
+
15
+ The above copyright notice and this permission notice shall be
16
+ included in all copies or substantial portions of the Software.
17
+
18
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
22
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
23
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
24
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,57 @@
1
+ # Sidekiq::Encryptor
2
+
3
+ [![Build Status](https://secure.travis-ci.org/wuputah/sidekiq-encryptor.png)](http://travis-ci.org/wuputah/sidekiq-encryptor)
4
+ [![Dependency Status](https://gemnasium.com/wuputah/sidekiq-encryptor.png)](https://gemnasium.com/wuputah/sidekiq-encryptor)
5
+
6
+ Sidekiq::Encryptor is a middleware set for Sidekiq that encrypts your
7
+ job data when enqueuing a job and decrypts that data when running a job.
8
+
9
+ ## Compatibility
10
+
11
+ Sidekiq::Encryptor is actively tested against MRI versions 2.0.0 and 1.9.3.
12
+
13
+ ## Installation
14
+
15
+ Add this line to your application's Gemfile:
16
+
17
+ gem 'sidekiq-encryptor'
18
+
19
+ And then execute:
20
+
21
+ $ bundle
22
+
23
+ Or install it yourself as:
24
+
25
+ $ gem install sidekiq-encryptor
26
+
27
+ ## Configuration
28
+
29
+ In a Rails initializer or wherever you've configured Sidekiq, add
30
+ the relevant Sidekiq::Encryptor middlewares as follows:
31
+
32
+ ```ruby
33
+ key = ENV['SIDEKIQ_ENCRYPTION_KEY']
34
+
35
+ Sidekiq.configure_server do |config|
36
+ config.server_middleware do |chain|
37
+ chain.add Sidekiq::Encryptor::Server, key: key
38
+ end
39
+ config.client_middleware do |chain|
40
+ chain.add Sidekiq::Encryptor::Client, key: key
41
+ end
42
+ end
43
+
44
+ Sidekiq.configure_client do |config|
45
+ config.client_middleware do |chain|
46
+ chain.add Sidekiq::Encryptor::Client, key: key
47
+ end
48
+ end
49
+ ```
50
+
51
+ ## Contributing
52
+
53
+ Pull requests gladly accepted. Please write tests for any code changes.
54
+
55
+ ## License
56
+
57
+ MIT Licensed. See LICENSE.txt for details.
data/Rakefile ADDED
@@ -0,0 +1,18 @@
1
+ require 'bundler/gem_tasks'
2
+
3
+ require 'rspec/core/rake_task'
4
+ RSpec::Core::RakeTask.new(:spec) do |spec|
5
+ spec.pattern = FileList['spec/**/*_spec.rb']
6
+ end
7
+
8
+ task :default => :spec
9
+
10
+ require 'yard'
11
+ YARD::Rake::YardocTask.new
12
+
13
+ desc 'Start Pry with runtime dependencies loaded'
14
+ task :console, :script do |t, args|
15
+ command = 'bundle exec pry'
16
+ command += "-r #{args[:script]}" if args[:script]
17
+ sh command
18
+ end
@@ -0,0 +1,14 @@
1
+ module Sidekiq
2
+ class Encryptor
3
+
4
+ module Version
5
+ MAJOR = 0
6
+ MINOR = 0
7
+ PATCH = 1
8
+ SUFFIX = ""
9
+ end
10
+
11
+ VERSION = "#{Version::MAJOR}.#{Version::MINOR}.#{Version::PATCH}#{Version::SUFFIX}"
12
+
13
+ end
14
+ end
@@ -0,0 +1,46 @@
1
+ require 'sidekiq'
2
+ require 'active_support/message_encryptor'
3
+ require 'active_support/message_verifier'
4
+
5
+ require 'sidekiq/encryptor/version'
6
+
7
+ module Sidekiq
8
+ class Encryptor
9
+
10
+ Error = Class.new(::RuntimeError)
11
+ DecryptionError = Class.new(Error)
12
+ VersionChangeError = Class.new(DecryptionError)
13
+
14
+ class Base
15
+ def initialize(options = {})
16
+ @key = options[:key]
17
+ @encryptor = ActiveSupport::MessageEncryptor.new(@key) if @key
18
+ end
19
+ end
20
+
21
+ class Client < Base
22
+ def call(worker, msg, queue)
23
+ return yield unless @key
24
+ msg['args'] = ['Sidekiq::Encryptor', Sidekiq::Encryptor::Version::MAJOR, @encryptor.encrypt_and_sign(Sidekiq.dump_json(msg['args']))]
25
+ yield
26
+ end
27
+ end
28
+
29
+ class Server < Base
30
+ def call(worker, msg, queue)
31
+ return yield unless @key
32
+ if msg['args'][0] == 'Sidekiq::Encryptor'
33
+ if msg['args'][1] != Sidekiq::Encryptor::Version::MAJOR
34
+ raise VersionChangeError, 'incompatible change detected'
35
+ else
36
+ msg['args'] = Sidekiq.load_json(@encryptor.decrypt_and_verify(msg['args'][2]))
37
+ end
38
+ end
39
+ yield
40
+ rescue ActiveSupport::MessageVerifier::InvalidSignature, ActiveSupport::MessageEncryptor::InvalidMessage
41
+ raise DecryptionError, 'key not identical or data was corrupted'
42
+ end
43
+ end
44
+
45
+ end # Encryptor
46
+ end # Sidekiq
@@ -0,0 +1 @@
1
+ require 'sidekiq/encryptor'
@@ -0,0 +1,40 @@
1
+ # -*- encoding: utf-8 -*-
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'sidekiq/encryptor/version'
5
+
6
+ Gem::Specification.new do |gem|
7
+ gem.name = 'sidekiq-encryptor'
8
+ gem.version = Sidekiq::Encryptor::VERSION
9
+ gem.authors = ['Jonathan Dance']
10
+ gem.email = ['rubygems@wuputah.com']
11
+ gem.description = %q{Sidekiq middleware that encrypts your job data into and out of Redis.}
12
+ gem.summary = %q{Sidekiq::Encryptor is a middleware for Sidekiq that keeps your information safe by using 2-way encryption when storing and retrieving jobs from Redis.}
13
+ gem.homepage = 'https://github.com/wuputah/sidekiq-encryptor'
14
+
15
+ gem.files = `git ls-files`.split($/)
16
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
+ gem.require_paths = ['lib']
19
+
20
+ gem.add_dependency 'activesupport'
21
+ gem.add_dependency 'sidekiq', '>= 2.5', '< 3.0'
22
+
23
+ gem.add_development_dependency 'rake'
24
+ gem.add_development_dependency 'pry'
25
+ gem.add_development_dependency 'yard'
26
+ gem.add_development_dependency 'redcarpet'
27
+
28
+ gem.add_development_dependency 'rspec'
29
+ gem.add_development_dependency 'rspec-redis_helper'
30
+ gem.add_development_dependency 'timecop'
31
+ gem.add_development_dependency 'simplecov'
32
+
33
+ gem.add_development_dependency 'guard'
34
+ gem.add_development_dependency 'guard-bundler'
35
+ gem.add_development_dependency 'guard-rspec'
36
+ gem.add_development_dependency 'guard-yard'
37
+ gem.add_development_dependency 'rb-fsevent'
38
+ gem.add_development_dependency 'rb-inotify'
39
+ gem.add_development_dependency 'growl'
40
+ end
@@ -0,0 +1,7 @@
1
+ class RegularWorker
2
+ include Sidekiq::Worker
3
+
4
+ def perform(name)
5
+ puts "..."
6
+ end
7
+ end
@@ -0,0 +1,33 @@
1
+ require 'spec_helper'
2
+
3
+ [Sidekiq::Encryptor::Client, Sidekiq::Encryptor::Server].each do |klass|
4
+
5
+ describe klass do
6
+
7
+ subject(:middleware) do
8
+ described_class.new
9
+ end
10
+
11
+ let(:worker) do
12
+ RegularWorker.new
13
+ end
14
+
15
+ let(:message) do
16
+ {
17
+ args: 'Clint Eastwood'
18
+ }
19
+ end
20
+
21
+ let(:queue) do
22
+ 'default'
23
+ end
24
+
25
+ describe '#call' do
26
+
27
+ it 'yields' do
28
+ expect { |b| middleware.call(worker, message, queue, &b) }.to yield_with_no_args
29
+ end
30
+ end
31
+ end
32
+
33
+ end
data/spec/spec.opts ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --format progress
@@ -0,0 +1,35 @@
1
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
2
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
+
4
+ WORKERS = File.join(File.dirname(__FILE__), 'app', 'workers')
5
+ $LOAD_PATH.unshift(WORKERS)
6
+
7
+ unless ENV['CI']
8
+ require 'simplecov'
9
+ SimpleCov.start do
10
+ add_filter '/spec/'
11
+ end
12
+ end
13
+
14
+ require 'rspec'
15
+ require 'timecop'
16
+
17
+ require 'sidekiq/encryptor'
18
+
19
+ # Autoload every worker for the test suite that sits in spec/app/workers
20
+ Dir[File.join(WORKERS, '*.rb')].sort.each do |file|
21
+ name = File.basename(file, '.rb')
22
+ autoload name.camelize.to_sym, name
23
+ end
24
+
25
+ RSpec.configure do |config|
26
+ # Run specs in random order to surface order dependencies. If you find an
27
+ # order dependency and want to debug it, you can fix the order by providing
28
+ # the seed, which is printed after each run.
29
+ # --seed 1234
30
+ config.order = 'random'
31
+ end
32
+
33
+ # Requires supporting files with custom matchers and macros, etc,
34
+ # in ./support/ and its subdirectories.
35
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
@@ -0,0 +1,20 @@
1
+ require 'sidekiq/util'
2
+ Sidekiq.logger.level = Logger::ERROR
3
+
4
+ require 'rspec-redis_helper'
5
+ RSpec::RedisHelper::CONFIG.merge!(:url => 'redis://localhost/15', :namespace => 'testy')
6
+
7
+ require 'sidekiq/redis_connection'
8
+ REDIS = Sidekiq::RedisConnection.create(RSpec::RedisHelper::CONFIG)
9
+
10
+ RSpec.configure do |spec|
11
+ spec.include RSpec::RedisHelper, redis: true
12
+
13
+ # clean the Redis database around each run
14
+ # @see https://www.relishapp.com/rspec/rspec-core/docs/hooks/around-hooks
15
+ spec.around( :each, redis: true ) do |example|
16
+ with_clean_redis do
17
+ example.run
18
+ end
19
+ end
20
+ end
metadata ADDED
@@ -0,0 +1,311 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sidekiq-encryptor
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Jonathan Dance
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-08-20 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: sidekiq
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '2.5'
34
+ - - <
35
+ - !ruby/object:Gem::Version
36
+ version: '3.0'
37
+ type: :runtime
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '2.5'
44
+ - - <
45
+ - !ruby/object:Gem::Version
46
+ version: '3.0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: rake
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - '>='
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: pry
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - '>='
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - '>='
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: yard
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - '>='
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: redcarpet
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - '>='
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - '>='
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ - !ruby/object:Gem::Dependency
104
+ name: rspec
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - '>='
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ - !ruby/object:Gem::Dependency
118
+ name: rspec-redis_helper
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - '>='
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - '>='
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
131
+ - !ruby/object:Gem::Dependency
132
+ name: timecop
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - '>='
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - '>='
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
145
+ - !ruby/object:Gem::Dependency
146
+ name: simplecov
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - '>='
150
+ - !ruby/object:Gem::Version
151
+ version: '0'
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - '>='
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
159
+ - !ruby/object:Gem::Dependency
160
+ name: guard
161
+ requirement: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - '>='
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - '>='
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
173
+ - !ruby/object:Gem::Dependency
174
+ name: guard-bundler
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - '>='
178
+ - !ruby/object:Gem::Version
179
+ version: '0'
180
+ type: :development
181
+ prerelease: false
182
+ version_requirements: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - '>='
185
+ - !ruby/object:Gem::Version
186
+ version: '0'
187
+ - !ruby/object:Gem::Dependency
188
+ name: guard-rspec
189
+ requirement: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - '>='
192
+ - !ruby/object:Gem::Version
193
+ version: '0'
194
+ type: :development
195
+ prerelease: false
196
+ version_requirements: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - '>='
199
+ - !ruby/object:Gem::Version
200
+ version: '0'
201
+ - !ruby/object:Gem::Dependency
202
+ name: guard-yard
203
+ requirement: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - '>='
206
+ - !ruby/object:Gem::Version
207
+ version: '0'
208
+ type: :development
209
+ prerelease: false
210
+ version_requirements: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - '>='
213
+ - !ruby/object:Gem::Version
214
+ version: '0'
215
+ - !ruby/object:Gem::Dependency
216
+ name: rb-fsevent
217
+ requirement: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - '>='
220
+ - !ruby/object:Gem::Version
221
+ version: '0'
222
+ type: :development
223
+ prerelease: false
224
+ version_requirements: !ruby/object:Gem::Requirement
225
+ requirements:
226
+ - - '>='
227
+ - !ruby/object:Gem::Version
228
+ version: '0'
229
+ - !ruby/object:Gem::Dependency
230
+ name: rb-inotify
231
+ requirement: !ruby/object:Gem::Requirement
232
+ requirements:
233
+ - - '>='
234
+ - !ruby/object:Gem::Version
235
+ version: '0'
236
+ type: :development
237
+ prerelease: false
238
+ version_requirements: !ruby/object:Gem::Requirement
239
+ requirements:
240
+ - - '>='
241
+ - !ruby/object:Gem::Version
242
+ version: '0'
243
+ - !ruby/object:Gem::Dependency
244
+ name: growl
245
+ requirement: !ruby/object:Gem::Requirement
246
+ requirements:
247
+ - - '>='
248
+ - !ruby/object:Gem::Version
249
+ version: '0'
250
+ type: :development
251
+ prerelease: false
252
+ version_requirements: !ruby/object:Gem::Requirement
253
+ requirements:
254
+ - - '>='
255
+ - !ruby/object:Gem::Version
256
+ version: '0'
257
+ description: Sidekiq middleware that encrypts your job data into and out of Redis.
258
+ email:
259
+ - rubygems@wuputah.com
260
+ executables: []
261
+ extensions: []
262
+ extra_rdoc_files: []
263
+ files:
264
+ - .gitignore
265
+ - .pryrc
266
+ - .travis.yml
267
+ - .yardopts
268
+ - Gemfile
269
+ - Guardfile
270
+ - LICENSE.txt
271
+ - README.md
272
+ - Rakefile
273
+ - lib/sidekiq-encryptor.rb
274
+ - lib/sidekiq/encryptor.rb
275
+ - lib/sidekiq/encryptor/version.rb
276
+ - sidekiq-encryptor.gemspec
277
+ - spec/app/workers/regular_worker.rb
278
+ - spec/sidekiq/encryptor_spec.rb
279
+ - spec/spec.opts
280
+ - spec/spec_helper.rb
281
+ - spec/support/sidekiq.rb
282
+ homepage: https://github.com/wuputah/sidekiq-encryptor
283
+ licenses: []
284
+ metadata: {}
285
+ post_install_message:
286
+ rdoc_options: []
287
+ require_paths:
288
+ - lib
289
+ required_ruby_version: !ruby/object:Gem::Requirement
290
+ requirements:
291
+ - - '>='
292
+ - !ruby/object:Gem::Version
293
+ version: '0'
294
+ required_rubygems_version: !ruby/object:Gem::Requirement
295
+ requirements:
296
+ - - '>='
297
+ - !ruby/object:Gem::Version
298
+ version: '0'
299
+ requirements: []
300
+ rubyforge_project:
301
+ rubygems_version: 2.0.3
302
+ signing_key:
303
+ specification_version: 4
304
+ summary: Sidekiq::Encryptor is a middleware for Sidekiq that keeps your information
305
+ safe by using 2-way encryption when storing and retrieving jobs from Redis.
306
+ test_files:
307
+ - spec/app/workers/regular_worker.rb
308
+ - spec/sidekiq/encryptor_spec.rb
309
+ - spec/spec.opts
310
+ - spec/spec_helper.rb
311
+ - spec/support/sidekiq.rb