dynamosaurus 0.0.9 → 0.1.0

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: cf094775fd40a2513f250d77db7be0d6797f7134
4
- data.tar.gz: 58be5bbc575faf23d73e70a60f0c778ca81859f4
3
+ metadata.gz: d87d5ab0ba834ae47b739ffd67820f63aa9a8437
4
+ data.tar.gz: bf0d65ad99cbb6b3e096df87eac7f285639ec951
5
5
  SHA512:
6
- metadata.gz: e04ff2346be1beacadcd04505b7ab1d8d98d5a46b1a06e1c2d748715a7da15f90943dbaa5547b00bef6ef4587acb6b8ed2eb56ae46a091bc40d735fdf6c1e702
7
- data.tar.gz: a99e63225e2772ca1320f1fccca2a1a882e13e6bcaa1834f8b5b4421607f7e27d749e7f5ec44f71d32771d6367bb943e0d5d1460fb6dd9c58ecc179aa6eb59a8
6
+ metadata.gz: ae4657b2fc2bcae4f9ca2adab1a034ccd393f8f09aeea60c7e893f7f5033cbf8e2ef34fa0f2b05d6e65340ad0fc6bc69c598dd46238e0b4b6a09b8a2fe58ec28
7
+ data.tar.gz: 2e0186360b1da0c5cb2d1385ce4aef5c696a73395d23c74c6c99827e5759cc930ffd9a7c7d0306bcdb0a8f91a35fcf2bcea4aa1b5a07da737cccea7d0f243ee3
@@ -97,6 +97,18 @@ module Dynamosaurus
97
97
  res = dynamo_db.update_item(query)
98
98
  end
99
99
 
100
+ def add attribute_nums={}, options={}
101
+ if self.class.has_renge
102
+ key_value = [@data[key[0].to_s], @data[key[2].to_s]]
103
+ else
104
+ key_value = @data[key[0].to_s]
105
+ end
106
+ attribute_nums.each do |k, v|
107
+ @data[k.to_s] = @data[k.to_s] + v.to_i
108
+ end
109
+ self.class.add(key_value, attribute_nums, options)
110
+ end
111
+
100
112
  def save
101
113
  attribute_updates = {}
102
114
  @data.each do |k, v|
@@ -1,3 +1,3 @@
1
1
  module Dynamosaurus
2
- VERSION = "0.0.9"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -0,0 +1,52 @@
1
+ require 'spec_helper'
2
+
3
+ describe Dynamosaurus::DynamoBase do
4
+ before(:all) do
5
+ ENV['DYNAMODB_SUFFIX'] = "_local"
6
+
7
+ Aws.config = {
8
+ :endpoint => "http://localhost:8000",
9
+ :region => 'local_test',
10
+ }
11
+ Dynamosaurus::DynamoBase.create_tables
12
+ end
13
+
14
+ after(:all) do
15
+ connect = Dynamosaurus::DynamoBase.dynamo_db
16
+ Dynamosaurus::DynamoBase.tables.each do |table_name|
17
+ connect.delete_table(:table_name => table_name)
18
+ end
19
+ end
20
+
21
+ it 'simple kvs add operation test' do
22
+ kvs = SimpleKVS.save({simple_key: "key1"}, {num: 1})
23
+ expect(kvs.num.to_i).to be (1)
24
+
25
+ kvs.add({num: 1})
26
+ expect(kvs.num.to_i).to be (2)
27
+ kvs = SimpleKVS.get("key1")
28
+ expect(kvs.num.to_i).to be (2)
29
+
30
+ kvs.add({num: 1})
31
+ expect(kvs.num.to_i).to be (3)
32
+ kvs = SimpleKVS.get("key1")
33
+ expect(kvs.num.to_i).to be (3)
34
+
35
+ kvs.add({num: -2})
36
+ expect(kvs.num.to_i).to be (1)
37
+ kvs = SimpleKVS.get("key1")
38
+ expect(kvs.num.to_i).to be (1)
39
+
40
+ kvs = SimpleOrderedKVS.save({simple_key: "key", simple_id: "1", num: 10})
41
+ expect(kvs.num.to_i).to be (10)
42
+
43
+ kvs.add({num: 1})
44
+ expect(kvs.num.to_i).to be (11)
45
+
46
+ kvs = SimpleOrderedKVS.get(["key", "1"])
47
+ expect(kvs.num.to_i).to be (11)
48
+
49
+
50
+ end
51
+
52
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dynamosaurus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Isamu Arimoto
@@ -87,6 +87,7 @@ files:
87
87
  - lib/dynamosaurus/dynamo_class.rb
88
88
  - lib/dynamosaurus/logger.rb
89
89
  - lib/dynamosaurus/version.rb
90
+ - spec/dynamo_base_spec.rb
90
91
  - spec/dynamo_class_spec.rb
91
92
  - spec/dynamosaurus_spec.rb
92
93
  - spec/spec_helper.rb
@@ -116,6 +117,7 @@ signing_key:
116
117
  specification_version: 4
117
118
  summary: Dynamodb simple ORM
118
119
  test_files:
120
+ - spec/dynamo_base_spec.rb
119
121
  - spec/dynamo_class_spec.rb
120
122
  - spec/dynamosaurus_spec.rb
121
123
  - spec/spec_helper.rb