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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b38443e8d58e7a350ed2964a808772e77ab0984e
4
- data.tar.gz: 313186c1360ace3013305d4cb1917a0ccc384ac0
3
+ metadata.gz: ff368d52609524104e5a4ebc1d1f3ee662aff305
4
+ data.tar.gz: b5cee188f14a56e495210b5201c7019137bd8d8a
5
5
  SHA512:
6
- metadata.gz: 1a4ecd0023e00b2f72b6bd369b59e97d3b63879ecfb81d89e03ed66b86d27602cdbb39e876802e355ff1ec04f2ca3ddc2aba3a1ecbb02803a047c2e035e272ee
7
- data.tar.gz: 0ffa4e4ed49eb0f34f9986a8b0592979756653b5e82f4c5339d33ecc5cce37ede389f77abc370b87ca15b5ffede88a4d96408ab899f1c00055acc2840e75ce74
6
+ metadata.gz: 9b10779bbb989318384e5f7bf1d4fca2ee20da72eecdf441175b8473f22d70a71f9185dd458b2ccc58e073118fbdf5787e8c91dcb3353a7325793a62dec84548
7
+ data.tar.gz: 10851e376bbcfd6330f7e4414e573e6bc3fe704fdd74afa6a5eff50ff3980c2ca6a49b7dfc962330ff33a4b87862546a275d55e83446acf41c85baac44bf0cd1
@@ -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| field 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.field(name, type=:string, **pairs)
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
- key ? [key] : nil
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
@@ -1,3 +1,3 @@
1
1
  module OceanDynamo
2
- VERSION = "0.1.8"
2
+ VERSION = "0.1.9"
3
3
  end
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.8
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-07 00:00:00.000000000 Z
11
+ date: 2013-09-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk