ocean-dynamo 0.1.8 → 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
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