aws-sdk-dynamodb-attribute-deserializer 1.0.2 → 1.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
  SHA256:
3
- metadata.gz: 85b1d39e60dfe058779e9bfb930f8561b22a799dbc6b9e26c0eeb11fe336010e
4
- data.tar.gz: 6b9cc8102f477e78f9f94f15d6ef29da09f585aca1d202f11cc5ba20b79656af
3
+ metadata.gz: 812c40c0d186739a07a57c862da58e48c56b42ec3f53cb89bf37c2c397cb2dbe
4
+ data.tar.gz: fac93d254c974f1d5d6ae5104ae7584caa9196caa00ac277de1111494d4b9e9d
5
5
  SHA512:
6
- metadata.gz: 74b9f295d6c4083ed6bcd8d54a6595a46f38fa0b80b818fec2bcbae5a1ece8b793421ea3785a56254e6f7f748aec8abb029ea5d04cb694d8b236d7d4a358756b
7
- data.tar.gz: 36f424a3fbec85352934ad101e47dbc336a22630a51c88329eccf8c40cf4dff7e5dfbffc80107f023fc4d9c6d808eee15118599f550cbf136ae897d45f729511
6
+ metadata.gz: e8d2e5c7649ec43d53af9486bd5c0a8c366c8878493c79ff15aa2d3e79d22f52c2959c74e4f3d6dc8222dbf3deab0400ef5d016ea55898dfa1d4c661fccfd484
7
+ data.tar.gz: e7902b90ff735992eec67b233cfa1320a9a5b1ede087fff87da8d00baf3d62ce0c401b832235bdee53e4826841ce38d9e0e78bc5f2928ab113bec8778794882b
data/Gemfile.lock CHANGED
@@ -1,12 +1,14 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- aws-sdk-dynamodb-attribute-deserializer (1.0.2)
4
+ aws-sdk-dynamodb-attribute-deserializer (1.1.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
9
  diff-lcs (1.4.4)
10
+ memory_profiler (1.0.0)
11
+ profile (0.4.0)
10
12
  rake (13.0.3)
11
13
  rspec (3.10.0)
12
14
  rspec-core (~> 3.10.0)
@@ -27,6 +29,8 @@ PLATFORMS
27
29
 
28
30
  DEPENDENCIES
29
31
  aws-sdk-dynamodb-attribute-deserializer!
32
+ memory_profiler
33
+ profile
30
34
  rake (~> 13.0)
31
35
  rspec (~> 3.2)
32
36
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "aws-sdk-dynamodb-attribute-deserializer"
5
- spec.version = '1.0.2'
5
+ spec.version = '1.1.0'
6
6
  spec.authors = ["Julien D."]
7
7
  spec.email = ["julien@pocketsizesun.com"]
8
8
 
@@ -27,4 +27,6 @@ Gem::Specification.new do |spec|
27
27
  spec.require_paths = ["lib"]
28
28
 
29
29
  spec.add_development_dependency "rspec", "~> 3.2"
30
+ spec.add_development_dependency 'profile'
31
+ spec.add_development_dependency 'memory_profiler'
30
32
  end
@@ -1 +1,2 @@
1
+ require 'bigdecimal'
1
2
  require 'aws/dynamodb/attribute_deserializer'
@@ -14,9 +14,10 @@ module Aws
14
14
  end
15
15
 
16
16
  def translate(arg)
17
- type, value = arg.to_a.first
17
+ type = arg.keys[0]
18
+ value = arg[type]
18
19
  case type
19
- when 'N' then value.to_s
20
+ when 'N' then BigDecimal(value)
20
21
  when 'L'
21
22
  value.map { |item| translate(item) }
22
23
  when 'SS'
data/profile.rb ADDED
@@ -0,0 +1,17 @@
1
+ require 'bundler/setup'
2
+ require "aws-sdk-dynamodb-attribute-deserializer"
3
+ require "memory_profiler"
4
+
5
+ attributes = {
6
+ 'partition_key' => { 'S' => 'test' },
7
+ 'sort_key' => { 'N' => '123456.5444587778511245' }
8
+ }
9
+
10
+ items = []
11
+ report = MemoryProfiler.report do
12
+ 100.times do
13
+ items << Aws::DynamoDB::AttributeDeserializer.call(attributes)
14
+ end
15
+ end
16
+
17
+ report.pretty_print
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-dynamodb-attribute-deserializer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julien D.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-01-10 00:00:00.000000000 Z
11
+ date: 2021-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -24,6 +24,34 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '3.2'
27
+ - !ruby/object:Gem::Dependency
28
+ name: profile
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: memory_profiler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
27
55
  description: AWS DynamoDB -Attribute Deserializer
28
56
  email:
29
57
  - julien@pocketsizesun.com
@@ -41,6 +69,7 @@ files:
41
69
  - bin/setup
42
70
  - lib/aws-sdk-dynamodb-attribute-deserializer.rb
43
71
  - lib/aws/dynamodb/attribute_deserializer.rb
72
+ - profile.rb
44
73
  homepage: https://github.com/pocketsizesun/aws-sdk-dynamodb-attribute-deserializer-ruby
45
74
  licenses: []
46
75
  metadata: