ocean-dynamo 0.1.8 → 0.1.9
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 +4 -4
- data/lib/ocean-dynamo/dynamo.rb +8 -10
- data/lib/ocean-dynamo/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: ff368d52609524104e5a4ebc1d1f3ee662aff305
|
4
|
+
data.tar.gz: b5cee188f14a56e495210b5201c7019137bd8d8a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9b10779bbb989318384e5f7bf1d4fca2ee20da72eecdf441175b8473f22d70a71f9185dd458b2ccc58e073118fbdf5787e8c91dcb3353a7325793a62dec84548
|
7
|
+
data.tar.gz: 10851e376bbcfd6330f7e4414e573e6bc3fe704fdd74afa6a5eff50ff3980c2ca6a49b7dfc962330ff33a4b87862546a275d55e83446acf41c85baac44bf0cd1
|
data/lib/ocean-dynamo/dynamo.rb
CHANGED
@@ -71,11 +71,13 @@ module OceanDynamo
|
|
71
71
|
true
|
72
72
|
end
|
73
73
|
|
74
|
+
|
74
75
|
def self.set_table_name_prefix(prefix)
|
75
76
|
self.table_name_prefix = prefix
|
76
77
|
true
|
77
78
|
end
|
78
79
|
|
80
|
+
|
79
81
|
def self.set_table_name_suffix(suffix)
|
80
82
|
self.table_name_suffix = suffix
|
81
83
|
true
|
@@ -105,7 +107,7 @@ module OceanDynamo
|
|
105
107
|
self.fields = HashWithIndifferentAccess.new
|
106
108
|
self.table_hash_key = hash_key
|
107
109
|
self.table_range_key = range_key
|
108
|
-
DEFAULT_FIELDS.each { |k, name, **pairs|
|
110
|
+
DEFAULT_FIELDS.each { |k, name, **pairs| attribute k, name, **pairs }
|
109
111
|
nil
|
110
112
|
end
|
111
113
|
|
@@ -120,7 +122,7 @@ module OceanDynamo
|
|
120
122
|
end
|
121
123
|
|
122
124
|
|
123
|
-
def self.
|
125
|
+
def self.attribute(name, type=:string, **pairs)
|
124
126
|
attr_accessor name
|
125
127
|
fields[name] = {type: type,
|
126
128
|
default: pairs[:default]}
|
@@ -141,9 +143,6 @@ module OceanDynamo
|
|
141
143
|
def self.setup_dynamo
|
142
144
|
#self.dynamo_client = AWS::DynamoDB::Client.new(:api_version => '2012-08-10')
|
143
145
|
self.dynamo_client ||= AWS::DynamoDB.new
|
144
|
-
|
145
|
-
# TODO Create a non-inherited class accessor (SOLVE THAT PROBLEM!) called dynamo_tables
|
146
|
-
|
147
146
|
self.dynamo_table = dynamo_client.tables[table_full_name]
|
148
147
|
self.dynamo_items = dynamo_table.items
|
149
148
|
end
|
@@ -189,6 +188,7 @@ module OceanDynamo
|
|
189
188
|
true
|
190
189
|
end
|
191
190
|
|
191
|
+
|
192
192
|
def self.delete_table
|
193
193
|
return false unless dynamo_table.exists? && dynamo_table.status == :active
|
194
194
|
dynamo_table.delete
|
@@ -313,7 +313,8 @@ module OceanDynamo
|
|
313
313
|
def to_key
|
314
314
|
return nil unless persisted?
|
315
315
|
key = respond_to?(:id) && id
|
316
|
-
|
316
|
+
return nil unless key
|
317
|
+
table_range_key ? [key, read_attribute(table_range_key)] : [key]
|
317
318
|
end
|
318
319
|
|
319
320
|
|
@@ -372,9 +373,6 @@ module OceanDynamo
|
|
372
373
|
def deserialize_attribute(value, metadata,
|
373
374
|
type: metadata[:type],
|
374
375
|
default: metadata[:default])
|
375
|
-
# if value == nil && type != :string
|
376
|
-
# return evaluate_default(default, type)
|
377
|
-
# end
|
378
376
|
case type
|
379
377
|
when :string
|
380
378
|
return "" if value == nil
|
@@ -431,7 +429,7 @@ module OceanDynamo
|
|
431
429
|
def save
|
432
430
|
begin
|
433
431
|
create_or_update
|
434
|
-
rescue RecordInvalid
|
432
|
+
rescue RecordInvalid, RecordNotSaved
|
435
433
|
false
|
436
434
|
end
|
437
435
|
end
|
data/lib/ocean-dynamo/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ocean-dynamo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Bengtson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-09-
|
11
|
+
date: 2013-09-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk
|