dynamosaurus 0.0.9 → 0.1.0

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: 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