appfuel 0.6.5 → 0.6.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/appfuel/storage/dynamodb/adapter.rb +43 -1
- data/lib/appfuel/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c62c1dda23c68cc94510cc7d066289d8096ccec4
|
4
|
+
data.tar.gz: 38778f084abf8373397920e12b2fbe7d90ec1567
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a8b4f1093b76c7be1b9c6db79cc0a6ae40fc085c8f99cb2ed78c4eabda6fe6646c9f71ea8627dcf9e8726feac5cdde8d0a2d9098ce53dee5a0b4b427a4ff27a9
|
7
|
+
data.tar.gz: 7976bd1967ce72901ac38491b4e775c87a15e084b21386b96ea91d626934c1cf6f445b2cc226084e0c1fca4c6d009e42bb43885a94e6d40dfd007e817e9dea0f
|
data/CHANGELOG.md
CHANGED
@@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file. (Pending ap
|
|
5
5
|
|
6
6
|
|
7
7
|
# Releases
|
8
|
+
## [[0.6.6]](https://github.com/rsb/appfuel/releases/tag/0.6.6) 2017-08-23
|
9
|
+
### Added
|
10
|
+
- `batch_get` to dynamodb nosql adapter
|
11
|
+
|
8
12
|
## [[0.6.5]](https://github.com/rsb/appfuel/releases/tag/0.6.5) 2017-08-21
|
9
13
|
### Added
|
10
14
|
- basic table query interface for dynamodb nosql adapter
|
@@ -101,7 +101,6 @@ module Appfuel
|
|
101
101
|
self.class.primary_key
|
102
102
|
end
|
103
103
|
|
104
|
-
|
105
104
|
def put_params(data)
|
106
105
|
create_table_hash(item: data)
|
107
106
|
end
|
@@ -152,6 +151,49 @@ module Appfuel
|
|
152
151
|
client.query(params)
|
153
152
|
end
|
154
153
|
|
154
|
+
def batch_keys(ids)
|
155
|
+
fail "ids must response to :map" unless ids.respond_to?(:map)
|
156
|
+
key = primary_key
|
157
|
+
ids.map do |id|
|
158
|
+
hash_value, range_value = id.is_a?(Array)? id : [id, nil]
|
159
|
+
key.params(hash_value, range_value)
|
160
|
+
end
|
161
|
+
end
|
162
|
+
|
163
|
+
# build batch keys
|
164
|
+
# when inputs is an array of one item
|
165
|
+
# when the inputs is an array of two items
|
166
|
+
#
|
167
|
+
# requested_items: {
|
168
|
+
# "TableName" => {
|
169
|
+
# keys: [
|
170
|
+
#
|
171
|
+
# ]
|
172
|
+
# }
|
173
|
+
# }
|
174
|
+
#
|
175
|
+
#
|
176
|
+
def batch_get(ids, &block)
|
177
|
+
table_key = table_name
|
178
|
+
result = client.batch_get_item(
|
179
|
+
request_items: {
|
180
|
+
table_key => { keys: batch_keys(ids) }
|
181
|
+
}
|
182
|
+
)
|
183
|
+
|
184
|
+
|
185
|
+
unless result.responses.key?(table_key)
|
186
|
+
fail "db table name #{table_key} is not correct"
|
187
|
+
end
|
188
|
+
|
189
|
+
list = result.responses[table_key]
|
190
|
+
return list if block_given?
|
191
|
+
|
192
|
+
list.each do |item|
|
193
|
+
yield item
|
194
|
+
end
|
195
|
+
end
|
196
|
+
|
155
197
|
def put(data)
|
156
198
|
params = put_params(data)
|
157
199
|
client.put_item(params)
|
data/lib/appfuel/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: appfuel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Scott-Buccleuch
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-08-
|
11
|
+
date: 2017-08-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|