hitnmiss-redis_driver 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: e79badb4a968f6df9e5df85ef8f4ac40c30799e2
4
+ data.tar.gz: 64cc756fa94c2334cf13b605393223cc118d295a
5
+ SHA512:
6
+ metadata.gz: 12c42b84876f8eb3c7f1d8201e36ce09ef045b2ed427028e3e5173e89496429d846ff2a373c209750a0ffef2c1853a45045aac19ff5094acfdab623ad410118c
7
+ data.tar.gz: df5d260cda99a42020c821e543efbbc69fd16b3239db6f5478e4a69aa0c5310845812c1675bcbbb97ef4fad5f264fbec3ba884c329f9e42eb352359123701380
@@ -0,0 +1,10 @@
1
+ ---
2
+ engines:
3
+ fixme:
4
+ enabled: true
5
+ rubcop:
6
+ enabled: true
7
+ ratings:
8
+ paths:
9
+ - "lib/**/*"
10
+ - "**.rb"
@@ -0,0 +1,9 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
@@ -0,0 +1,6 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.2.3
4
+ services:
5
+ - redis-server
6
+ before_install: gem install bundler -v 1.11.2
@@ -0,0 +1,42 @@
1
+ # ChangeLog
2
+
3
+ The following are lists of the notable changes included with each release. This
4
+ is intended to help keep people informed about notable changes between versions,
5
+ as well as provide a rough history. Each item is prefixed with one of the
6
+ following labels: `Added`, `Changed`, `Deprecated`, `Removed`, `Fixed`,
7
+ `Security`. We also use [Semantic Versioning](http://semver.org) to manage the
8
+ versions of this gem so that you can set version constraints properly.
9
+
10
+ #### [Unreleased][]
11
+
12
+ #### [v1.1.0][] - 2016-07-02
13
+
14
+ * Updated docs for official open source release
15
+
16
+ #### [v1.0.0][] - 2016-04-12
17
+
18
+ * Updated Hitnmiss dependency to 2.0
19
+
20
+ #### [v0.3.0][] - 2016-03-18
21
+
22
+ * Updated Hitnmiss dependency to 1.0
23
+
24
+ #### [v0.2.0][] - 2016-03-17
25
+
26
+ * Changed driver to implement `#all`, `#delete`, and `#clear`
27
+
28
+ #### [v0.1.1][] - 2016-01-25
29
+
30
+ * Fix gemspec build requirements so we can actually build the gem
31
+
32
+ #### [v0.1.0][] - 2016-01-25
33
+
34
+ * Add initial Minimum Viable Product version of the library
35
+
36
+ [Unreleased]: https://github.com/Acornsgrow/hitnmiss-redis_driver/compare/v1.1.0...HEAD
37
+ [v1.1.0]: https://github.com/Acornsgrow/hitnmiss-redis_driver/compare/v1.0.0...v1.1.0
38
+ [v1.0.0]: https://github.com/Acornsgrow/hitnmiss-redis_driver/compare/v0.3.0...v1.0.0
39
+ [v0.3.0]: https://github.com/Acornsgrow/hitnmiss-redis_driver/compare/v0.2.0...v0.3.0
40
+ [v0.2.0]: https://github.com/Acornsgrow/hitnmiss-redis_driver/compare/v0.1.1...v0.2.0
41
+ [v0.1.1]: https://github.com/Acornsgrow/hitnmiss-redis_driver/compare/v0.1.0...v0.1.1
42
+ [v0.1.0]: https://github.com/Acornsgrow/hitnmiss-redis_driver/compare/6be4b1a...v0.1.0
@@ -0,0 +1,49 @@
1
+ # Contributor Code of Conduct
2
+
3
+ As contributors and maintainers of this project, and in the interest of
4
+ fostering an open and welcoming community, we pledge to respect all people who
5
+ contribute through reporting issues, posting feature requests, updating
6
+ documentation, submitting pull requests or patches, and other activities.
7
+
8
+ We are committed to making participation in this project a harassment-free
9
+ experience for everyone, regardless of level of experience, gender, gender
10
+ identity and expression, sexual orientation, disability, personal appearance,
11
+ body size, race, ethnicity, age, religion, or nationality.
12
+
13
+ Examples of unacceptable behavior by participants include:
14
+
15
+ * The use of sexualized language or imagery
16
+ * Personal attacks
17
+ * Trolling or insulting/derogatory comments
18
+ * Public or private harassment
19
+ * Publishing other's private information, such as physical or electronic
20
+ addresses, without explicit permission
21
+ * Other unethical or unprofessional conduct
22
+
23
+ Project maintainers have the right and responsibility to remove, edit, or
24
+ reject comments, commits, code, wiki edits, issues, and other contributions
25
+ that are not aligned to this Code of Conduct, or to ban temporarily or
26
+ permanently any contributor for other behaviors that they deem inappropriate,
27
+ threatening, offensive, or harmful.
28
+
29
+ By adopting this Code of Conduct, project maintainers commit themselves to
30
+ fairly and consistently applying these principles to every aspect of managing
31
+ this project. Project maintainers who do not follow or enforce the Code of
32
+ Conduct may be permanently removed from the project team.
33
+
34
+ This code of conduct applies both within project spaces and in public spaces
35
+ when an individual is representing the project or its community.
36
+
37
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
38
+ reported by contacting a project maintainer at oss@acorns.com. All
39
+ complaints will be reviewed and investigated and will result in a response that
40
+ is deemed necessary and appropriate to the circumstances. Maintainers are
41
+ obligated to maintain confidentiality with regard to the reporter of an
42
+ incident.
43
+
44
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage],
45
+ version 1.3.0, available at
46
+ [http://contributor-covenant.org/version/1/3/0/][version]
47
+
48
+ [homepage]: http://contributor-covenant.org
49
+ [version]: http://contributor-covenant.org/version/1/3/0/
@@ -0,0 +1,57 @@
1
+ # Where should I start?
2
+
3
+ We recommend first starting to learn about `hitnmiss-redis_driver` by reading
4
+ the
5
+ [README](https://github.com/Acornsgrow/hitnmiss-redis_driver/blob/master/README.md).
6
+ Beyond that you can explore the sections below to identify the path that best
7
+ fits you. **Note:** This project follows a contribution [code of
8
+ conduct](https://github.com/Acornsgrow/hitnmiss-redis_driver/blob/master/CODE_OF_CONDUCT.md).
9
+
10
+ ## How can I help?
11
+
12
+ There are a number of ways you can help.
13
+
14
+ - Report Bugs
15
+ - Add Feature Requests
16
+ - Add/Update Documentation
17
+ - Triage Bugs
18
+ - Code Contributions
19
+
20
+ ### Report Bugs
21
+
22
+ As a user a relatively easy way to contribute is to report bugs that you run
23
+ into. Generally, this should be done via our
24
+ [ISSUES](https://github.com/Acornsgrow/hitnmiss-redis_driver/issues) page.
25
+ However, if it is a security issue please send an e-mail directly to one of the
26
+ core authors found in the
27
+ [gemspec](https://github.com/Acornsgrow/hitnmiss-redis_driver/blob/master/hitnmiss-redis_driver.gemspec#L10)
28
+ rather than creating a public issue for it. This will give us some time to
29
+ review it and resolve it before people can abuse the security flaw.
30
+
31
+ ### Add Feature Requests
32
+
33
+ One simple way to get involved after starting to use the project is to
34
+ contribute by adding feature requests for things that you see as gaps for the
35
+ project. This can be done by creating an issue or our
36
+ [ISSUES](https://github.com/Acornsgrow/hitnmiss-redis_driver/issues) page.
37
+
38
+ ### Add/Update Documentation
39
+
40
+ You can also contribute by correcting, updating, or adding additional
41
+ documentation. This can be done by making a pull request for documentation in
42
+ any of our top level markdown files.
43
+
44
+ ### Triage Bugs
45
+
46
+ Triaging bugs is also very important. This is the practice of the reviewing
47
+ [ISSUES](https://github.com/Acornsgrow/hitnmiss-redis_driver/issues), making
48
+ sure that the submitter provided necessary information to review the bugs, and
49
+ classify them appropriately.
50
+
51
+ ### Code Contributions
52
+
53
+ The most involved type of contribution you can make is to actually submit code
54
+ to implement features, fix bugs, etc. This is done by submitting a pull request.
55
+ See
56
+ [DEVELOPING](https://github.com/Acornsgrow/hitnmiss-redis_driver/blob/master/DEVELOPMENT.md)
57
+ for further details on getting started with a code contribution.
@@ -0,0 +1,7 @@
1
+ # Development
2
+
3
+ After checking out the repo, run `bin/setup` to install dependencies.
4
+ Then, run `rake spec` to run the tests. You can also run `bin/console`
5
+ for an interactive prompt that will allow you to experiment.
6
+
7
+ To install this gem onto your local machine, run `bundle exec rake install`.
data/Gemfile ADDED
@@ -0,0 +1,8 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in hitnmiss-redis_driver.gemspec
4
+ gemspec
5
+
6
+ source 'https://bpuKoa5fdZZxNCU_uJ8N@gem.fury.io/acorns/' do
7
+ gem 'hitnmiss', '~> 2.0', '>= 2.0.0'
8
+ end
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2015 Acorns Grow, Inc.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,69 @@
1
+ [![Build Status](https://travis-ci.com/Acornsgrow/hitnmiss-redis_driver.svg?token=GGEgqzL4zt7sa3zVgspU&branch=master)](https://travis-ci.com/Acornsgrow/hitnmiss-redis_driver)
2
+ [![Code Climate](https://codeclimate.com/repos/567a3c3140bbd1610000173b/badges/9a198fe818cfd8a5e5d6/gpa.svg)](https://codeclimate.com/repos/567a3c3140bbd1610000173b/feed)
3
+ [![Test Coverage](https://codeclimate.com/repos/567a3c3140bbd1610000173b/badges/9a198fe818cfd8a5e5d6/coverage.svg)](https://codeclimate.com/repos/567a3c3140bbd1610000173b/coverage)
4
+ [![Issue Count](https://codeclimate.com/repos/567a3c3140bbd1610000173b/badges/9a198fe818cfd8a5e5d6/issue_count.svg)](https://codeclimate.com/repos/567a3c3140bbd1610000173b/feed)
5
+
6
+ # Hitnmiss::RedisDriver
7
+
8
+ This gem provides a Redis driver for the
9
+ [Hitnmiss](https://github.com/Acornsgrow/hitnmiss) caching library. It
10
+ does this so that people can easily use Redis as a cache store when
11
+ using [Hitnmiss](https://github.com/Acornsgrow/hitnmiss).
12
+
13
+ ## Installation
14
+
15
+ Add this line to your application's Gemfile:
16
+
17
+ ```ruby
18
+ gem 'hitnmiss-redis_driver'
19
+ ```
20
+
21
+ And then execute:
22
+
23
+ $ bundle
24
+
25
+ Or install it yourself as:
26
+
27
+ $ gem install hitnmiss-redis_driver
28
+
29
+ ## Usage
30
+
31
+ You can use this driver by simply doing the following in your
32
+ [Hitnmiss](https://github.com/Acornsgrow/hitnmiss) cache repository.
33
+
34
+
35
+ Register the driver with `Hitnmiss` in your application using the following.
36
+
37
+ ```ruby
38
+ Hitnmiss.register_driver(:redis_driver, Hitnmiss::RedisDriver.new("redis://your_redis_url"))
39
+ ```
40
+
41
+ Then use the registered driver in your cache repository as follows.
42
+
43
+ ```ruby
44
+ # lib/cache_repositories/most_recent_price.rb
45
+ class MostRecentPrice
46
+ include Hitnmiss::Repository
47
+
48
+ driver :redis_driver
49
+ end
50
+ ```
51
+
52
+ Thats it. *Note:* Registering a driver basically creates a singleton version of
53
+ that driver instance. So, if you want multiple redis drivers with different
54
+ configurations you will need to register multiple instances of the redis driver.
55
+
56
+ More details about how to set drivers can be found at
57
+ [Hitnmiss](https://github.com/Acornsgrow/hitnmiss).
58
+
59
+ ## Contributing
60
+
61
+ If you are interested in contributing to Hitnmiss. There is a guide (both code
62
+ and general help) over in
63
+ [CONTRIBUTING](https://github.com/Acornsgrow/hitnmiss-redis_driver/blob/master/CONTRIBUTING.md).
64
+
65
+ ## License
66
+
67
+ The gem is available as open source under the terms of the [MIT
68
+ License](http://opensource.org/licenses/MIT).
69
+
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "hitnmiss/redis_driver"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,30 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'hitnmiss/redis_driver-version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "hitnmiss-redis_driver"
8
+ spec.version = Hitnmiss::RedisDriver::VERSION
9
+ spec.authors = ["Andrew De Ponte"]
10
+ spec.email = ["cyphactor@gmail.com"]
11
+
12
+ spec.summary = %q{Redis driver for Hitnmiss cache library}
13
+ spec.description = %q{Redis driver for Hitnmiss cache library}
14
+ spec.homepage = "https://github.com/Acornsgrow/hitnmiss-redis_driver"
15
+ spec.license = "MIT"
16
+
17
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
+ spec.bindir = "exe"
19
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
+ spec.require_paths = ["lib"]
21
+
22
+ spec.add_dependency "hitnmiss", "~> 2.0"
23
+ spec.add_dependency "redis", "~> 3.2"
24
+
25
+ spec.add_development_dependency "bundler", "~> 1.11"
26
+ spec.add_development_dependency "rake", "~> 10.0"
27
+ spec.add_development_dependency "rspec", "~> 3.0"
28
+ spec.add_development_dependency "simplecov", "~> 0.11"
29
+ spec.add_development_dependency "codeclimate-test-reporter", "~> 0.4"
30
+ end
@@ -0,0 +1,5 @@
1
+ module Hitnmiss
2
+ class RedisDriver
3
+ VERSION = "1.1.0"
4
+ end
5
+ end
@@ -0,0 +1,90 @@
1
+ require "hitnmiss"
2
+ require "redis"
3
+ require "hitnmiss/redis_driver-version"
4
+
5
+ module Hitnmiss
6
+ class RedisDriver
7
+ include Hitnmiss::Driver::Interface
8
+
9
+ def initialize(redis_url)
10
+ @redis = Redis.new(:url => redis_url)
11
+ end
12
+
13
+ def set(key, entity)
14
+ value = { value: entity.value }
15
+ value[:updated_at] = internal_timestamp
16
+ value[:fingerprint] = entity.fingerprint if entity.fingerprint
17
+ value[:last_modified] = entity.last_modified if entity.last_modified
18
+ if entity.expiration
19
+ @redis.setex(key, entity.expiration, serialize_value(value))
20
+ else
21
+ @redis.set(key, serialize_value(value))
22
+ end
23
+ end
24
+
25
+ def get(key)
26
+ cached_item = @redis.get(key)
27
+ return Hitnmiss::Driver::Miss.new if cached_item.nil?
28
+ deserialized_value = deserialize_value(cached_item)
29
+ Hitnmiss::Driver::Hit.new(deserialized_value[:value], build_hit_keyword_args(deserialized_value))
30
+ end
31
+
32
+ def delete(key)
33
+ @redis.del(key)
34
+ end
35
+
36
+ def all(keyspace)
37
+ separator = Hitnmiss::Repository::KeyGeneration::KEY_COMPONENT_SEPARATOR
38
+ keys = get_keys("#{keyspace}#{separator}*")
39
+ return [] if keys.empty?
40
+ values = @redis.mget(*keys)
41
+ loaded_values = []
42
+ values.each do |value|
43
+ loaded_values << deserialize_value(value).delete(:value) unless value.nil?
44
+ end
45
+ return loaded_values
46
+ end
47
+
48
+ def clear(keyspace)
49
+ separator = Hitnmiss::Repository::KeyGeneration::KEY_COMPONENT_SEPARATOR
50
+ keys = get_keys("#{keyspace}#{separator}*")
51
+ @redis.del(*keys) unless keys.empty?
52
+ end
53
+
54
+ private
55
+
56
+ def internal_timestamp
57
+ Time.now.utc.iso8601
58
+ end
59
+
60
+ def get_keys(pattern)
61
+ keys = []
62
+ @redis.scan_each(match: pattern) do |key|
63
+ keys << key
64
+ end
65
+ return keys
66
+ end
67
+
68
+ def deserialize_value(value)
69
+ Marshal.load(value)
70
+ end
71
+
72
+ def serialize_value(value)
73
+ Marshal.dump(value)
74
+ end
75
+
76
+ def build_hit_keyword_args(cached_entity)
77
+ options = {}
78
+ if cached_entity.has_key?(:fingerprint)
79
+ options[:fingerprint] = cached_entity[:fingerprint]
80
+ end
81
+ if cached_entity.has_key?(:updated_at)
82
+ options[:updated_at] = Time.parse(cached_entity[:updated_at])
83
+ end
84
+ if cached_entity.has_key?(:last_modified)
85
+ options[:last_modified] = cached_entity[:last_modified]
86
+ end
87
+ return **options
88
+ end
89
+ end
90
+ end
metadata ADDED
@@ -0,0 +1,159 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: hitnmiss-redis_driver
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Andrew De Ponte
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2016-07-03 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: hitnmiss
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: redis
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3.2'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3.2'
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.11'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.11'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '10.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '10.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '3.0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '3.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: simplecov
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.11'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0.11'
97
+ - !ruby/object:Gem::Dependency
98
+ name: codeclimate-test-reporter
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '0.4'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '0.4'
111
+ description: Redis driver for Hitnmiss cache library
112
+ email:
113
+ - cyphactor@gmail.com
114
+ executables: []
115
+ extensions: []
116
+ extra_rdoc_files: []
117
+ files:
118
+ - ".codeclimate.yml"
119
+ - ".gitignore"
120
+ - ".rspec"
121
+ - ".travis.yml"
122
+ - CHANGELOG.md
123
+ - CODE_OF_CONDUCT.md
124
+ - CONTRIBUTING.md
125
+ - DEVELOPMENT.md
126
+ - Gemfile
127
+ - LICENSE.txt
128
+ - README.md
129
+ - Rakefile
130
+ - bin/console
131
+ - bin/setup
132
+ - hitnmiss-redis_driver.gemspec
133
+ - lib/hitnmiss/redis_driver-version.rb
134
+ - lib/hitnmiss/redis_driver.rb
135
+ homepage: https://github.com/Acornsgrow/hitnmiss-redis_driver
136
+ licenses:
137
+ - MIT
138
+ metadata: {}
139
+ post_install_message:
140
+ rdoc_options: []
141
+ require_paths:
142
+ - lib
143
+ required_ruby_version: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - ">="
146
+ - !ruby/object:Gem::Version
147
+ version: '0'
148
+ required_rubygems_version: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ requirements: []
154
+ rubyforge_project:
155
+ rubygems_version: 2.5.1
156
+ signing_key:
157
+ specification_version: 4
158
+ summary: Redis driver for Hitnmiss cache library
159
+ test_files: []