aerospike-rails-support 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.
- checksums.yaml +7 -0
- data/.gitignore +182 -0
- data/.rspec +4 -0
- data/Gemfile +3 -0
- data/Rakefile +7 -0
- data/aerospike-rails-support.gemspec +21 -0
- data/lib/action_dispatch/session/aerospike_store.rb +51 -0
- data/lib/active_support/cache/aerospike_store.rb +78 -0
- data/lib/aerospike/rails/support.rb +5 -0
- data/lib/aerospike-rails-support.rb +1 -0
- metadata +207 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 8d3de2397f87ac2dec60139a0e10325513c797c7
|
|
4
|
+
data.tar.gz: 3d1dccc239e88d378231f353f32c5591dc7b3c89
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 86ba4521823fed5f1946230530dadd30566d85c7e4d7402cece6733f29f26c1536e9ab26d69455175b15141eb1d8dafa1f6961c842feeff96ba60721e923cc05
|
|
7
|
+
data.tar.gz: 5d7a50fdf77f6956d2cd6551e16c29a0b3f9193a49af565c5e64ded5ef104a3085a4d5ef0c0cd93362bb2b085b38d77e14f4717ace1b50fd227f1c7956f029ac
|
data/.gitignore
ADDED
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
# Created by https://www.gitignore.io/api/ruby,rubymine,intellij,emacs,vim
|
|
2
|
+
|
|
3
|
+
### Ruby ###
|
|
4
|
+
*.gem
|
|
5
|
+
*.rbc
|
|
6
|
+
/.config
|
|
7
|
+
/coverage/
|
|
8
|
+
/InstalledFiles
|
|
9
|
+
/pkg/
|
|
10
|
+
/spec/reports/
|
|
11
|
+
/spec/examples.txt
|
|
12
|
+
/test/tmp/
|
|
13
|
+
/test/version_tmp/
|
|
14
|
+
/tmp/
|
|
15
|
+
|
|
16
|
+
## Specific to RubyMotion:
|
|
17
|
+
.dat*
|
|
18
|
+
.repl_history
|
|
19
|
+
build/
|
|
20
|
+
|
|
21
|
+
## Documentation cache and generated files:
|
|
22
|
+
/.yardoc/
|
|
23
|
+
/_yardoc/
|
|
24
|
+
/doc/
|
|
25
|
+
/rdoc/
|
|
26
|
+
|
|
27
|
+
## Environment normalisation:
|
|
28
|
+
/.bundle/
|
|
29
|
+
/vendor/bundle
|
|
30
|
+
/lib/bundler/man/
|
|
31
|
+
|
|
32
|
+
# for a library or gem, you might want to ignore these files since the code is
|
|
33
|
+
# intended to run in multiple environments; otherwise, check them in:
|
|
34
|
+
Gemfile.lock
|
|
35
|
+
.ruby-version
|
|
36
|
+
.ruby-gemset
|
|
37
|
+
|
|
38
|
+
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
|
39
|
+
.rvmrc
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
### RubyMine ###
|
|
43
|
+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio
|
|
44
|
+
|
|
45
|
+
*.iml
|
|
46
|
+
|
|
47
|
+
## Directory-based project format:
|
|
48
|
+
.idea/
|
|
49
|
+
# if you remove the above rule, at least ignore the following:
|
|
50
|
+
|
|
51
|
+
# User-specific stuff:
|
|
52
|
+
# .idea/workspace.xml
|
|
53
|
+
# .idea/tasks.xml
|
|
54
|
+
# .idea/dictionaries
|
|
55
|
+
|
|
56
|
+
# Sensitive or high-churn files:
|
|
57
|
+
# .idea/dataSources.ids
|
|
58
|
+
# .idea/dataSources.xml
|
|
59
|
+
# .idea/sqlDataSources.xml
|
|
60
|
+
# .idea/dynamic.xml
|
|
61
|
+
# .idea/uiDesigner.xml
|
|
62
|
+
|
|
63
|
+
# Gradle:
|
|
64
|
+
# .idea/gradle.xml
|
|
65
|
+
# .idea/libraries
|
|
66
|
+
|
|
67
|
+
# Mongo Explorer plugin:
|
|
68
|
+
# .idea/mongoSettings.xml
|
|
69
|
+
|
|
70
|
+
## File-based project format:
|
|
71
|
+
*.ipr
|
|
72
|
+
*.iws
|
|
73
|
+
|
|
74
|
+
## Plugin-specific files:
|
|
75
|
+
|
|
76
|
+
# IntelliJ
|
|
77
|
+
/out/
|
|
78
|
+
|
|
79
|
+
# mpeltonen/sbt-idea plugin
|
|
80
|
+
.idea_modules/
|
|
81
|
+
|
|
82
|
+
# JIRA plugin
|
|
83
|
+
atlassian-ide-plugin.xml
|
|
84
|
+
|
|
85
|
+
# Crashlytics plugin (for Android Studio and IntelliJ)
|
|
86
|
+
com_crashlytics_export_strings.xml
|
|
87
|
+
crashlytics.properties
|
|
88
|
+
crashlytics-build.properties
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
### Intellij ###
|
|
92
|
+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio
|
|
93
|
+
|
|
94
|
+
*.iml
|
|
95
|
+
|
|
96
|
+
## Directory-based project format:
|
|
97
|
+
.idea/
|
|
98
|
+
# if you remove the above rule, at least ignore the following:
|
|
99
|
+
|
|
100
|
+
# User-specific stuff:
|
|
101
|
+
# .idea/workspace.xml
|
|
102
|
+
# .idea/tasks.xml
|
|
103
|
+
# .idea/dictionaries
|
|
104
|
+
|
|
105
|
+
# Sensitive or high-churn files:
|
|
106
|
+
# .idea/dataSources.ids
|
|
107
|
+
# .idea/dataSources.xml
|
|
108
|
+
# .idea/sqlDataSources.xml
|
|
109
|
+
# .idea/dynamic.xml
|
|
110
|
+
# .idea/uiDesigner.xml
|
|
111
|
+
|
|
112
|
+
# Gradle:
|
|
113
|
+
# .idea/gradle.xml
|
|
114
|
+
# .idea/libraries
|
|
115
|
+
|
|
116
|
+
# Mongo Explorer plugin:
|
|
117
|
+
# .idea/mongoSettings.xml
|
|
118
|
+
|
|
119
|
+
## File-based project format:
|
|
120
|
+
*.ipr
|
|
121
|
+
*.iws
|
|
122
|
+
|
|
123
|
+
## Plugin-specific files:
|
|
124
|
+
|
|
125
|
+
# IntelliJ
|
|
126
|
+
/out/
|
|
127
|
+
|
|
128
|
+
# mpeltonen/sbt-idea plugin
|
|
129
|
+
.idea_modules/
|
|
130
|
+
|
|
131
|
+
# JIRA plugin
|
|
132
|
+
atlassian-ide-plugin.xml
|
|
133
|
+
|
|
134
|
+
# Crashlytics plugin (for Android Studio and IntelliJ)
|
|
135
|
+
com_crashlytics_export_strings.xml
|
|
136
|
+
crashlytics.properties
|
|
137
|
+
crashlytics-build.properties
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
### Emacs ###
|
|
141
|
+
# -*- mode: gitignore; -*-
|
|
142
|
+
*~
|
|
143
|
+
\#*\#
|
|
144
|
+
/.emacs.desktop
|
|
145
|
+
/.emacs.desktop.lock
|
|
146
|
+
*.elc
|
|
147
|
+
auto-save-list
|
|
148
|
+
tramp
|
|
149
|
+
.\#*
|
|
150
|
+
|
|
151
|
+
# Org-mode
|
|
152
|
+
.org-id-locations
|
|
153
|
+
*_archive
|
|
154
|
+
|
|
155
|
+
# flymake-mode
|
|
156
|
+
*_flymake.*
|
|
157
|
+
|
|
158
|
+
# eshell files
|
|
159
|
+
/eshell/history
|
|
160
|
+
/eshell/lastdir
|
|
161
|
+
|
|
162
|
+
# elpa packages
|
|
163
|
+
/elpa/
|
|
164
|
+
|
|
165
|
+
# reftex files
|
|
166
|
+
*.rel
|
|
167
|
+
|
|
168
|
+
# AUCTeX auto folder
|
|
169
|
+
/auto/
|
|
170
|
+
|
|
171
|
+
# cask packages
|
|
172
|
+
.cask/
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
### Vim ###
|
|
176
|
+
[._]*.s[a-w][a-z]
|
|
177
|
+
[._]s[a-w][a-z]
|
|
178
|
+
*.un~
|
|
179
|
+
Session.vim
|
|
180
|
+
.netrwhist
|
|
181
|
+
*~
|
|
182
|
+
|
data/.rspec
ADDED
data/Gemfile
ADDED
data/Rakefile
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
Gem::Specification.new do |gem|
|
|
2
|
+
gem.name = 'aerospike-rails-support'
|
|
3
|
+
gem.version = '0.1.0'
|
|
4
|
+
gem.date = '2015-09-28'
|
|
5
|
+
gem.summary = 'Provide Aerospike Sub Storage Service for Rails'
|
|
6
|
+
gem.description = 'Provide Aerospike Sub Storage Service for Rails as cache and session store'
|
|
7
|
+
gem.authors = ['Jiung Jeong']
|
|
8
|
+
gem.email = 'ethernuiel@sanultari.com'
|
|
9
|
+
gem.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^spec/}) }
|
|
10
|
+
gem.license = 'MIT'
|
|
11
|
+
|
|
12
|
+
gem.add_dependency 'aerospike', '~> 1.0', '>= 1.0.9'
|
|
13
|
+
gem.add_dependency 'hashie', '~> 3.4', '>= 3.4.2'
|
|
14
|
+
|
|
15
|
+
gem.add_development_dependency 'activesupport', '~> 4.2', '>= 4.2.3'
|
|
16
|
+
gem.add_development_dependency 'actionpack', '~> 4.2', '>= 4.2.3'
|
|
17
|
+
gem.add_development_dependency 'rake', '~> 10.4', '>= 10.4.2'
|
|
18
|
+
gem.add_development_dependency 'rubygems-tasks', '~> 0.2', '>= 0.2.4'
|
|
19
|
+
gem.add_development_dependency 'bundler', '~> 1.8', '>= 1.8.2'
|
|
20
|
+
gem.add_development_dependency 'rspec', '~> 3.3'
|
|
21
|
+
end
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
require 'aerospike'
|
|
2
|
+
|
|
3
|
+
class ActionDispatch::Session::AerospikeStore < ActionDispatch::Session::AbstractStore
|
|
4
|
+
DEFAULT_OPTIONS = {
|
|
5
|
+
host: '127.0.0.1',
|
|
6
|
+
port: 3000,
|
|
7
|
+
ns: 'test',
|
|
8
|
+
set: 'session_rails',
|
|
9
|
+
bin: 'data'
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
def initialize(app, options = {})
|
|
13
|
+
options.merge!(DEFAULT_OPTIONS) { |_, old, _| old }
|
|
14
|
+
@client = Aerospike::Client.new(options.delete(:host), options.delete(:port), options)
|
|
15
|
+
options[:expire_after] ||= options[:expiration]
|
|
16
|
+
options[:expire_after] ||= options[:expires_in]
|
|
17
|
+
@options = options.deep_dup
|
|
18
|
+
super
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def get_session(_, sid)
|
|
22
|
+
unless sid and (session = @client.get(key_from(sid, @options)).bins[@options[:bin]])
|
|
23
|
+
sid, session = generate_sid, {}
|
|
24
|
+
end
|
|
25
|
+
[sid, session]
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# Set a session in the cache.
|
|
29
|
+
def set_session(_, sid, session, options)
|
|
30
|
+
merged = options.to_hash.merge!(@options) {|_, old, _| old}
|
|
31
|
+
key = key_from(sid, merged)
|
|
32
|
+
if session
|
|
33
|
+
@client.put(key, Aerospike::Bin.new(merged[:bin], session), expiration: merged[:expire_after])
|
|
34
|
+
else
|
|
35
|
+
@client.delete(key)
|
|
36
|
+
end
|
|
37
|
+
sid
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# Remove a session from the cache.
|
|
41
|
+
def destroy_session(_, sid, options)
|
|
42
|
+
merged = options.to_hash.merge!(@options) {|_, old, _| old}
|
|
43
|
+
@client.delete(key_from(sid, merged), merged)
|
|
44
|
+
generate_sid
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
private
|
|
48
|
+
def key_from(name, options)
|
|
49
|
+
Aerospike::Key.new(options[:ns], options[:set], name)
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
require 'aerospike'
|
|
2
|
+
|
|
3
|
+
module ActiveSupport
|
|
4
|
+
module Cache
|
|
5
|
+
class AerospikeStore < Store
|
|
6
|
+
DEFAULT_OPTIONS = {
|
|
7
|
+
ns: 'test',
|
|
8
|
+
set: 'rails_cache',
|
|
9
|
+
bin: 'data',
|
|
10
|
+
host: '127.0.0.1',
|
|
11
|
+
port: 3000,
|
|
12
|
+
timeout: 0.1,
|
|
13
|
+
ttl: 60,
|
|
14
|
+
unless_exist: false
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
def initialize(options = {})
|
|
18
|
+
options.merge!(DEFAULT_OPTIONS) { |_, user, _| user }
|
|
19
|
+
@client = Aerospike::Client.new(options.delete(:host), options.delete(:port), options.dup)
|
|
20
|
+
super
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def clear(options = nil)
|
|
24
|
+
@client.query(Aerospike::Statement.new(@options[:ns], @options[:set])).each do |entry|
|
|
25
|
+
@client.delete(entry.key)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def increment(name, amount = 1, options = nil)
|
|
30
|
+
options = merged_options(options)
|
|
31
|
+
instrument(:increment, name, amount: amount) do
|
|
32
|
+
@client.add(key_from(namespaced_key(name, options), options), Aerospike::Bin.new(@options[:bin], amount))
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def decrement(name, amount = 1, options = nil)
|
|
37
|
+
options = merged_options(options)
|
|
38
|
+
instrument(:decrement, name, amount: amount) do
|
|
39
|
+
@client.add(key_from(namespaced_key(name, options), options), Aerospike::Bin.new(@options[:bin], (amount * -1)))
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
protected
|
|
44
|
+
def read_entry(key, options) # :nodoc:
|
|
45
|
+
value = @client.get(key_from(key, options))
|
|
46
|
+
return nil if value.nil?
|
|
47
|
+
Entry.new(@client.get(key_from(key, options)).bins[options[:bin]])
|
|
48
|
+
rescue Aerospike::Exceptions::Aerospike => e
|
|
49
|
+
Rails.logger.error e if defined? Rails
|
|
50
|
+
nil
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def write_entry(key, entry, options) # :nodoc:
|
|
54
|
+
options = merged_options(options)
|
|
55
|
+
options[:expiration] ||= options[:expires_in] if options.include? :expires_in
|
|
56
|
+
options[:expiration] ||= options[:ttl] if options.include? :ttl
|
|
57
|
+
options[:record_exists_action] ||= options[:unless_exist]? Aerospike::RecordExistsAction::CREATE_ONLY : Aerospike::RecordExistsAction::REPLACE
|
|
58
|
+
data = Aerospike::Bin.new(options[:bin], entry.value)
|
|
59
|
+
@client.put key_from(key, options), data, options
|
|
60
|
+
true
|
|
61
|
+
rescue Aerospike::Exceptions::Aerospike => e
|
|
62
|
+
Rails.logger.error e if defined? Rails
|
|
63
|
+
false
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def delete_entry(key, options) # :nodoc:
|
|
67
|
+
@client.delete(key_from(key, options))
|
|
68
|
+
rescue Aerospike::Exceptions::Aerospike => e
|
|
69
|
+
Rails.logger.error e if defined? Rails
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
private
|
|
73
|
+
def key_from(key, options)
|
|
74
|
+
Aerospike::Key.new(options[:ns], options[:set], key)
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require 'aerospike/rails/support'
|
metadata
ADDED
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: aerospike-rails-support
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Jiung Jeong
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2015-09-28 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: aerospike
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - "~>"
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '1.0'
|
|
20
|
+
- - ">="
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: 1.0.9
|
|
23
|
+
type: :runtime
|
|
24
|
+
prerelease: false
|
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
26
|
+
requirements:
|
|
27
|
+
- - "~>"
|
|
28
|
+
- !ruby/object:Gem::Version
|
|
29
|
+
version: '1.0'
|
|
30
|
+
- - ">="
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: 1.0.9
|
|
33
|
+
- !ruby/object:Gem::Dependency
|
|
34
|
+
name: hashie
|
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - "~>"
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: '3.4'
|
|
40
|
+
- - ">="
|
|
41
|
+
- !ruby/object:Gem::Version
|
|
42
|
+
version: 3.4.2
|
|
43
|
+
type: :runtime
|
|
44
|
+
prerelease: false
|
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
46
|
+
requirements:
|
|
47
|
+
- - "~>"
|
|
48
|
+
- !ruby/object:Gem::Version
|
|
49
|
+
version: '3.4'
|
|
50
|
+
- - ">="
|
|
51
|
+
- !ruby/object:Gem::Version
|
|
52
|
+
version: 3.4.2
|
|
53
|
+
- !ruby/object:Gem::Dependency
|
|
54
|
+
name: activesupport
|
|
55
|
+
requirement: !ruby/object:Gem::Requirement
|
|
56
|
+
requirements:
|
|
57
|
+
- - "~>"
|
|
58
|
+
- !ruby/object:Gem::Version
|
|
59
|
+
version: '4.2'
|
|
60
|
+
- - ">="
|
|
61
|
+
- !ruby/object:Gem::Version
|
|
62
|
+
version: 4.2.3
|
|
63
|
+
type: :development
|
|
64
|
+
prerelease: false
|
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
66
|
+
requirements:
|
|
67
|
+
- - "~>"
|
|
68
|
+
- !ruby/object:Gem::Version
|
|
69
|
+
version: '4.2'
|
|
70
|
+
- - ">="
|
|
71
|
+
- !ruby/object:Gem::Version
|
|
72
|
+
version: 4.2.3
|
|
73
|
+
- !ruby/object:Gem::Dependency
|
|
74
|
+
name: actionpack
|
|
75
|
+
requirement: !ruby/object:Gem::Requirement
|
|
76
|
+
requirements:
|
|
77
|
+
- - "~>"
|
|
78
|
+
- !ruby/object:Gem::Version
|
|
79
|
+
version: '4.2'
|
|
80
|
+
- - ">="
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: 4.2.3
|
|
83
|
+
type: :development
|
|
84
|
+
prerelease: false
|
|
85
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - "~>"
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '4.2'
|
|
90
|
+
- - ">="
|
|
91
|
+
- !ruby/object:Gem::Version
|
|
92
|
+
version: 4.2.3
|
|
93
|
+
- !ruby/object:Gem::Dependency
|
|
94
|
+
name: rake
|
|
95
|
+
requirement: !ruby/object:Gem::Requirement
|
|
96
|
+
requirements:
|
|
97
|
+
- - "~>"
|
|
98
|
+
- !ruby/object:Gem::Version
|
|
99
|
+
version: '10.4'
|
|
100
|
+
- - ">="
|
|
101
|
+
- !ruby/object:Gem::Version
|
|
102
|
+
version: 10.4.2
|
|
103
|
+
type: :development
|
|
104
|
+
prerelease: false
|
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
106
|
+
requirements:
|
|
107
|
+
- - "~>"
|
|
108
|
+
- !ruby/object:Gem::Version
|
|
109
|
+
version: '10.4'
|
|
110
|
+
- - ">="
|
|
111
|
+
- !ruby/object:Gem::Version
|
|
112
|
+
version: 10.4.2
|
|
113
|
+
- !ruby/object:Gem::Dependency
|
|
114
|
+
name: rubygems-tasks
|
|
115
|
+
requirement: !ruby/object:Gem::Requirement
|
|
116
|
+
requirements:
|
|
117
|
+
- - "~>"
|
|
118
|
+
- !ruby/object:Gem::Version
|
|
119
|
+
version: '0.2'
|
|
120
|
+
- - ">="
|
|
121
|
+
- !ruby/object:Gem::Version
|
|
122
|
+
version: 0.2.4
|
|
123
|
+
type: :development
|
|
124
|
+
prerelease: false
|
|
125
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
126
|
+
requirements:
|
|
127
|
+
- - "~>"
|
|
128
|
+
- !ruby/object:Gem::Version
|
|
129
|
+
version: '0.2'
|
|
130
|
+
- - ">="
|
|
131
|
+
- !ruby/object:Gem::Version
|
|
132
|
+
version: 0.2.4
|
|
133
|
+
- !ruby/object:Gem::Dependency
|
|
134
|
+
name: bundler
|
|
135
|
+
requirement: !ruby/object:Gem::Requirement
|
|
136
|
+
requirements:
|
|
137
|
+
- - "~>"
|
|
138
|
+
- !ruby/object:Gem::Version
|
|
139
|
+
version: '1.8'
|
|
140
|
+
- - ">="
|
|
141
|
+
- !ruby/object:Gem::Version
|
|
142
|
+
version: 1.8.2
|
|
143
|
+
type: :development
|
|
144
|
+
prerelease: false
|
|
145
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
146
|
+
requirements:
|
|
147
|
+
- - "~>"
|
|
148
|
+
- !ruby/object:Gem::Version
|
|
149
|
+
version: '1.8'
|
|
150
|
+
- - ">="
|
|
151
|
+
- !ruby/object:Gem::Version
|
|
152
|
+
version: 1.8.2
|
|
153
|
+
- !ruby/object:Gem::Dependency
|
|
154
|
+
name: rspec
|
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
|
156
|
+
requirements:
|
|
157
|
+
- - "~>"
|
|
158
|
+
- !ruby/object:Gem::Version
|
|
159
|
+
version: '3.3'
|
|
160
|
+
type: :development
|
|
161
|
+
prerelease: false
|
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
163
|
+
requirements:
|
|
164
|
+
- - "~>"
|
|
165
|
+
- !ruby/object:Gem::Version
|
|
166
|
+
version: '3.3'
|
|
167
|
+
description: Provide Aerospike Sub Storage Service for Rails as cache and session
|
|
168
|
+
store
|
|
169
|
+
email: ethernuiel@sanultari.com
|
|
170
|
+
executables: []
|
|
171
|
+
extensions: []
|
|
172
|
+
extra_rdoc_files: []
|
|
173
|
+
files:
|
|
174
|
+
- ".gitignore"
|
|
175
|
+
- ".rspec"
|
|
176
|
+
- Gemfile
|
|
177
|
+
- Rakefile
|
|
178
|
+
- aerospike-rails-support.gemspec
|
|
179
|
+
- lib/action_dispatch/session/aerospike_store.rb
|
|
180
|
+
- lib/active_support/cache/aerospike_store.rb
|
|
181
|
+
- lib/aerospike-rails-support.rb
|
|
182
|
+
- lib/aerospike/rails/support.rb
|
|
183
|
+
homepage:
|
|
184
|
+
licenses:
|
|
185
|
+
- MIT
|
|
186
|
+
metadata: {}
|
|
187
|
+
post_install_message:
|
|
188
|
+
rdoc_options: []
|
|
189
|
+
require_paths:
|
|
190
|
+
- lib
|
|
191
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
192
|
+
requirements:
|
|
193
|
+
- - ">="
|
|
194
|
+
- !ruby/object:Gem::Version
|
|
195
|
+
version: '0'
|
|
196
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
197
|
+
requirements:
|
|
198
|
+
- - ">="
|
|
199
|
+
- !ruby/object:Gem::Version
|
|
200
|
+
version: '0'
|
|
201
|
+
requirements: []
|
|
202
|
+
rubyforge_project:
|
|
203
|
+
rubygems_version: 2.4.5
|
|
204
|
+
signing_key:
|
|
205
|
+
specification_version: 4
|
|
206
|
+
summary: Provide Aerospike Sub Storage Service for Rails
|
|
207
|
+
test_files: []
|