keymap 0.1.0
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.
- data/.gitignore +17 -0
- data/.rspec +2 -0
- data/Gemfile +6 -0
- data/LICENSE.txt +22 -0
- data/README.md +47 -0
- data/Rakefile +96 -0
- data/keymap.gemspec +28 -0
- data/lib/keymap.rb +32 -0
- data/lib/keymap/base.rb +65 -0
- data/lib/keymap/connection_adapters/abstract/connection_pool.rb +451 -0
- data/lib/keymap/connection_adapters/abstract/connection_specification.rb +159 -0
- data/lib/keymap/connection_adapters/abstract/transaction_management.rb +39 -0
- data/lib/keymap/connection_adapters/abstract_adapter.rb +139 -0
- data/lib/keymap/connection_adapters/redis_adapter.rb +113 -0
- data/lib/keymap/errors.rb +29 -0
- data/lib/keymap/version.rb +3 -0
- data/spec/data/.gitignore +0 -0
- data/spec/functional/abstract_adapter_spec.rb +24 -0
- data/spec/functional/adapter_spec.rb +1 -0
- data/spec/functional/adapters/redis/connection_spec.rb +0 -0
- data/spec/rcov.opts +2 -0
- data/spec/spec.opts +3 -0
- data/spec/spec_helper.rb +19 -0
- data/spec/support/config.rb +45 -0
- data/spec/support/config.yml +10 -0
- data/spec/support/connection.rb +17 -0
- data/spec/unit/.gitignore +0 -0
- data/spec/unit/test.rb +89 -0
- data/tasks/rspec.rb +56 -0
- metadata +247 -0
@@ -0,0 +1,29 @@
|
|
1
|
+
module Keymap
|
2
|
+
|
3
|
+
# Generic Keymap exception class.
|
4
|
+
class KeymapError < StandardError
|
5
|
+
end
|
6
|
+
|
7
|
+
# Raised when adapter not specified on connection (or configuration file <tt>config/database.yml</tt>
|
8
|
+
# misses adapter field).
|
9
|
+
class AdapterNotSpecified < KeymapError
|
10
|
+
end
|
11
|
+
|
12
|
+
# Raised when Keymap cannot find database adapter specified in <tt>config/database.yml</tt> or programmatically.
|
13
|
+
class AdapterNotFound < KeymapError
|
14
|
+
end
|
15
|
+
|
16
|
+
# Raised when connection to the database could not been established (for example when <tt>connection=</tt>
|
17
|
+
# is given a nil object).
|
18
|
+
class ConnectionNotEstablished < KeymapError
|
19
|
+
end
|
20
|
+
|
21
|
+
# The library uses this exception to distinguish a deliberate rollback from other
|
22
|
+
# exceptional situations. Normally, raising an exception will cause the
|
23
|
+
# +transaction+ method to rollback the database transaction *and* pass on the
|
24
|
+
# exception. But if you raise a Rollback exception, then the database transaction
|
25
|
+
# will be rolled back, without passing on the exception.
|
26
|
+
class Rollback < KeymapError
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
File without changes
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Keymap::ConnectionAdapters::ConnectionPool do
|
4
|
+
before do
|
5
|
+
@adapter = Keymap::ConnectionAdapters::AbstractAdapter.new nil, nil
|
6
|
+
@pool = Keymap::ConnectionAdapters::ConnectionPool.new(Keymap::Base::ConnectionSpecification.new({}, nil))
|
7
|
+
@pool.connections << @adapter
|
8
|
+
@adapter.pool = @pool
|
9
|
+
end
|
10
|
+
|
11
|
+
context "a pool manages connections" do
|
12
|
+
it "marks the connections in use when checked out" do
|
13
|
+
@adapter.should eq(@pool.connection)
|
14
|
+
@adapter.in_use?.should be_true
|
15
|
+
end
|
16
|
+
it "marks the connection not in use when checked in" do
|
17
|
+
@adapter.close
|
18
|
+
!@adapter.in_use?.should be_false
|
19
|
+
end
|
20
|
+
it "returns the same connection upon subsequent checkouts if only one connection is pooled" do
|
21
|
+
@adapter.should eq(@pool.connection)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
require 'spec_helper'
|
File without changes
|
data/spec/rcov.opts
ADDED
data/spec/spec.opts
ADDED
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
$:.unshift File.expand_path("../..", __FILE__)
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'rspec/mocks'
|
5
|
+
|
6
|
+
$:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
7
|
+
$:.unshift(File.expand_path("../lib", __FILE__))
|
8
|
+
$:.unshift(File.dirname(__FILE__))
|
9
|
+
|
10
|
+
require 'active_support'
|
11
|
+
require 'keymap'
|
12
|
+
require 'simplecov'
|
13
|
+
|
14
|
+
SimpleCov.start do
|
15
|
+
add_group 'Libraries', 'lib'
|
16
|
+
end
|
17
|
+
|
18
|
+
#RSpec.configure do |config|
|
19
|
+
#end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'yaml'
|
2
|
+
require 'erubis'
|
3
|
+
require 'fileutils'
|
4
|
+
require 'pathname'
|
5
|
+
|
6
|
+
SPEC_ROOT = File.expand_path(File.dirname(__FILE__))
|
7
|
+
|
8
|
+
module KeymapTest
|
9
|
+
class << self
|
10
|
+
def config
|
11
|
+
@config ||= read_config
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
def config_file
|
17
|
+
Pathname.new(ENV['KEYMAP_CONFIG'] || SPEC_ROOT + '/support/config.yml')
|
18
|
+
end
|
19
|
+
|
20
|
+
def read_config
|
21
|
+
unless config_file.exist?
|
22
|
+
FileUtils.cp SPEC_ROOT + '/support/config.example.yml', config_file
|
23
|
+
end
|
24
|
+
|
25
|
+
erb = Erubis::Eruby.new(config_file.read)
|
26
|
+
expand_config(YAML.parse(erb.result(binding)).transform)
|
27
|
+
end
|
28
|
+
|
29
|
+
def expand_config(config)
|
30
|
+
config['connections'].each do |adapter, connection|
|
31
|
+
dbs = [['arunit', 'activerecord_unittest'], ['arunit2', 'activerecord_unittest2']]
|
32
|
+
dbs.each do |name, dbname|
|
33
|
+
unless connection[name].is_a?(Hash)
|
34
|
+
connection[name] = {'database' => connection[name]}
|
35
|
+
end
|
36
|
+
|
37
|
+
connection[name]['database'] ||= dbname
|
38
|
+
connection[name]['adapter'] ||= adapter
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
config
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'logger'
|
2
|
+
|
3
|
+
module KeymapTest
|
4
|
+
def self.connection_name
|
5
|
+
ENV['KEYMAP_CONN'] || config['default_connection']
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.connection_config
|
9
|
+
config['connections'][connection_name]
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.connect
|
13
|
+
Keymap::Base.logger = Logger.new("debug.log")
|
14
|
+
Keymap::Base.configurations = connection_config
|
15
|
+
Keymap::Base.establish_connection 'kmunit'
|
16
|
+
end
|
17
|
+
end
|
File without changes
|
data/spec/unit/test.rb
ADDED
@@ -0,0 +1,89 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'keymap'
|
3
|
+
require 'yaml'
|
4
|
+
require 'logger'
|
5
|
+
|
6
|
+
Keymap::Base.configurations['redis'] = {
|
7
|
+
:adapter => 'redis',
|
8
|
+
:host => 'localhost'
|
9
|
+
}
|
10
|
+
|
11
|
+
class User < Keymap::Base
|
12
|
+
|
13
|
+
establish_connection 'redis'
|
14
|
+
|
15
|
+
def test
|
16
|
+
c = self.connection
|
17
|
+
puts 'hi'
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
user = User.new
|
22
|
+
user.test
|
23
|
+
|
24
|
+
#
|
25
|
+
#config = {adapter: 'redis',
|
26
|
+
# host: 'localhost'
|
27
|
+
# #database: database,
|
28
|
+
# #username: user,
|
29
|
+
# #password: password,
|
30
|
+
#}
|
31
|
+
#Keymap::Base.establish_connection(config)
|
32
|
+
#Keymap::Base.logger = Logger.new(STDERR)
|
33
|
+
#
|
34
|
+
#class User < Keymap::Base
|
35
|
+
#end
|
36
|
+
|
37
|
+
#puts User.count
|
38
|
+
# SQL (0.000277) SELECT count(*) AS count_all FROM users
|
39
|
+
# 6
|
40
|
+
|
41
|
+
|
42
|
+
#require 'redis'
|
43
|
+
#require 'keymap/connection_adapters/redis_adapter'
|
44
|
+
#require 'keymap/connection_adapters/abstract/connection_specification'
|
45
|
+
#
|
46
|
+
#Base.configurations["redis"] = {
|
47
|
+
# :adapter => 'redis',
|
48
|
+
# :host => 'localhost'
|
49
|
+
#}
|
50
|
+
#
|
51
|
+
#Base.establish_connection(
|
52
|
+
# :adapter => "redis",
|
53
|
+
# :host => "localhost"
|
54
|
+
#)
|
55
|
+
#
|
56
|
+
#
|
57
|
+
##
|
58
|
+
##class Table1 < ActiveRecord::Base
|
59
|
+
## establish_connection "db1"
|
60
|
+
##end
|
61
|
+
##
|
62
|
+
##class Table2 < ActiveRecord::Base
|
63
|
+
## establish_connection "db2"
|
64
|
+
##end
|
65
|
+
#
|
66
|
+
#
|
67
|
+
#redis = ConnectionAdapters::RedisAdapter.new nil, nil, {host: "localhost"}
|
68
|
+
#puts redis.active?
|
69
|
+
#
|
70
|
+
#redis.reconnect!
|
71
|
+
#puts redis.active?
|
72
|
+
#
|
73
|
+
#redis.transaction do
|
74
|
+
# tokens = redis.hash 'tokens'
|
75
|
+
# tokens[:auth] = 'no way'
|
76
|
+
# puts tokens[:auth]
|
77
|
+
#end
|
78
|
+
#
|
79
|
+
#redis.transaction do
|
80
|
+
# tokens = redis.hash 'tokens'
|
81
|
+
# tokens.each do |key, value|
|
82
|
+
# puts "#{key},#{value}"
|
83
|
+
# end
|
84
|
+
#end
|
85
|
+
#
|
86
|
+
#redis.disconnect!
|
87
|
+
#puts redis.active?
|
88
|
+
#
|
89
|
+
#
|
data/tasks/rspec.rb
ADDED
@@ -0,0 +1,56 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rake'
|
3
|
+
|
4
|
+
GEM_ROOT = File.expand_path(File.join(File.dirname(__FILE__), ".."))
|
5
|
+
|
6
|
+
begin
|
7
|
+
|
8
|
+
require 'rspec/core/rake_task'
|
9
|
+
|
10
|
+
task :default => :spec
|
11
|
+
|
12
|
+
desc "Run all specs in spec directory"
|
13
|
+
RSpec::Core::RakeTask.new(:spec) do |t|
|
14
|
+
t.rspec_opts = ['--options', "\"#{GEM_ROOT}/.rspec\""]
|
15
|
+
t.pattern = FileList['spec/**/*_spec.rb']
|
16
|
+
end
|
17
|
+
|
18
|
+
desc "Run all functional specs (in functional/ directory)"
|
19
|
+
RSpec::Core::RakeTask.new(:functional) do |t|
|
20
|
+
t.rspec_opts = ['--options', "\"#{GEM_ROOT}/spec/spec.opts\""]
|
21
|
+
t.pattern = FileList['spec/functional/**/*_spec.rb']
|
22
|
+
end
|
23
|
+
|
24
|
+
desc "Run the rspec tests with activesupport loaded"
|
25
|
+
RSpec::Core::RakeTask.new(:spec_activesupport) do |t|
|
26
|
+
t.rspec_opts = ['--options', "\"#{GEM_ROOT}/.rspec\"", "--require active_support/core_ext"]
|
27
|
+
t.pattern = FileList['spec/unit/**/*_spec.rb']
|
28
|
+
end
|
29
|
+
|
30
|
+
namespace :spec do
|
31
|
+
#desc "Run all specs in spec directory with RCov"
|
32
|
+
#RSpec::Core::RakeTask.new(:cov) do |t|
|
33
|
+
# require 'simplecov'
|
34
|
+
# SimpleCov.start do
|
35
|
+
# add_group 'Libraries', 'lib'
|
36
|
+
# end
|
37
|
+
#end
|
38
|
+
|
39
|
+
desc "Print Specdoc for all specs"
|
40
|
+
RSpec::Core::RakeTask.new(:doc) do |t|
|
41
|
+
t.rspec_opts = %w(--format specdoc --dry-run)
|
42
|
+
t.pattern = FileList['spec/**/*_spec.rb']
|
43
|
+
end
|
44
|
+
|
45
|
+
[:unit].each do |sub|
|
46
|
+
desc "Run the specs under spec/#{sub}"
|
47
|
+
RSpec::Core::RakeTask.new(sub) do |t|
|
48
|
+
t.rspec_opts = ['--options', "\"#{GEM_ROOT}/spec/spec.opts\""]
|
49
|
+
t.pattern = FileList["spec/#{sub}/**/*_spec.rb"]
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
rescue LoadError
|
55
|
+
STDERR.puts "\n*** RSpec not available. (sudo) gem install rspec to run unit tests. ***\n\n"
|
56
|
+
end
|
metadata
ADDED
@@ -0,0 +1,247 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: keymap
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Robert Buck
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-10-28 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: erubis
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 2.7.0
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 2.7.0
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: redis
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ~>
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 3.0.2
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 3.0.2
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: activesupport
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ~>
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 3.2.8
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 3.2.8
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: rake
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: rdoc
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
86
|
+
type: :development
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: simplecov
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
102
|
+
type: :development
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: rspec
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ~>
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 2.11.0
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ~>
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 2.11.0
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: rspec-core
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
130
|
+
requirements:
|
131
|
+
- - ~>
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: 2.11.0
|
134
|
+
type: :development
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ~>
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: 2.11.0
|
142
|
+
- !ruby/object:Gem::Dependency
|
143
|
+
name: rspec-expectations
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
146
|
+
requirements:
|
147
|
+
- - ~>
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: 2.11.0
|
150
|
+
type: :development
|
151
|
+
prerelease: false
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ~>
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: 2.11.0
|
158
|
+
- !ruby/object:Gem::Dependency
|
159
|
+
name: rspec-mocks
|
160
|
+
requirement: !ruby/object:Gem::Requirement
|
161
|
+
none: false
|
162
|
+
requirements:
|
163
|
+
- - ~>
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: 2.11.0
|
166
|
+
type: :development
|
167
|
+
prerelease: false
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
170
|
+
requirements:
|
171
|
+
- - ~>
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: 2.11.0
|
174
|
+
description: ActiveRecord like Key-Value Store API for Ruby
|
175
|
+
email: buck.robert.j@gmail.com
|
176
|
+
executables: []
|
177
|
+
extensions: []
|
178
|
+
extra_rdoc_files: []
|
179
|
+
files:
|
180
|
+
- .gitignore
|
181
|
+
- .rspec
|
182
|
+
- Gemfile
|
183
|
+
- LICENSE.txt
|
184
|
+
- README.md
|
185
|
+
- Rakefile
|
186
|
+
- keymap.gemspec
|
187
|
+
- lib/keymap.rb
|
188
|
+
- lib/keymap/base.rb
|
189
|
+
- lib/keymap/connection_adapters/abstract/connection_pool.rb
|
190
|
+
- lib/keymap/connection_adapters/abstract/connection_specification.rb
|
191
|
+
- lib/keymap/connection_adapters/abstract/transaction_management.rb
|
192
|
+
- lib/keymap/connection_adapters/abstract_adapter.rb
|
193
|
+
- lib/keymap/connection_adapters/redis_adapter.rb
|
194
|
+
- lib/keymap/errors.rb
|
195
|
+
- lib/keymap/version.rb
|
196
|
+
- spec/data/.gitignore
|
197
|
+
- spec/functional/abstract_adapter_spec.rb
|
198
|
+
- spec/functional/adapter_spec.rb
|
199
|
+
- spec/functional/adapters/redis/connection_spec.rb
|
200
|
+
- spec/rcov.opts
|
201
|
+
- spec/spec.opts
|
202
|
+
- spec/spec_helper.rb
|
203
|
+
- spec/support/config.rb
|
204
|
+
- spec/support/config.yml
|
205
|
+
- spec/support/connection.rb
|
206
|
+
- spec/unit/.gitignore
|
207
|
+
- spec/unit/test.rb
|
208
|
+
- tasks/rspec.rb
|
209
|
+
homepage: https://github.com/rbuck/keymap
|
210
|
+
licenses: []
|
211
|
+
post_install_message:
|
212
|
+
rdoc_options: []
|
213
|
+
require_paths:
|
214
|
+
- lib
|
215
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
216
|
+
none: false
|
217
|
+
requirements:
|
218
|
+
- - ! '>='
|
219
|
+
- !ruby/object:Gem::Version
|
220
|
+
version: '0'
|
221
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
222
|
+
none: false
|
223
|
+
requirements:
|
224
|
+
- - ! '>='
|
225
|
+
- !ruby/object:Gem::Version
|
226
|
+
version: '0'
|
227
|
+
requirements: []
|
228
|
+
rubyforge_project:
|
229
|
+
rubygems_version: 1.8.24
|
230
|
+
signing_key:
|
231
|
+
specification_version: 3
|
232
|
+
summary: Abstracts choosing a key-value store implementation, and provides a common
|
233
|
+
API.
|
234
|
+
test_files:
|
235
|
+
- spec/data/.gitignore
|
236
|
+
- spec/functional/abstract_adapter_spec.rb
|
237
|
+
- spec/functional/adapter_spec.rb
|
238
|
+
- spec/functional/adapters/redis/connection_spec.rb
|
239
|
+
- spec/rcov.opts
|
240
|
+
- spec/spec.opts
|
241
|
+
- spec/spec_helper.rb
|
242
|
+
- spec/support/config.rb
|
243
|
+
- spec/support/config.yml
|
244
|
+
- spec/support/connection.rb
|
245
|
+
- spec/unit/.gitignore
|
246
|
+
- spec/unit/test.rb
|
247
|
+
- tasks/rspec.rb
|