dynamo-store 0.0.1 → 1.0.2.1

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.
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'active_support'
3
4
  require 'active_support/cache'
4
5
  require 'active_support/notifications'
5
6
 
@@ -11,10 +12,10 @@ end
11
12
 
12
13
  module ActiveSupport
13
14
  module Cache
14
- class Dynamo < Store
15
+ class DynamoStore < Store
15
16
  DEFAULT_HASH_KEY = 'CacheKey'
16
17
  DEFAULT_TTL_KEY = 'TTL'
17
- CONTENT_KEY = 'item_value'
18
+ CONTENT_KEY = 'b_item_value'
18
19
 
19
20
  attr_reader :data, :dynamodb_client, :hash_key, :ttl_key, :table_name
20
21
 
@@ -53,7 +54,7 @@ module ActiveSupport
53
54
  table_name: table_name
54
55
  )
55
56
 
56
- return if result.item.nil?
57
+ return if result.item.nil? || result.item[CONTENT_KEY].nil?
57
58
 
58
59
  Marshal.load(result.item[CONTENT_KEY]) # rubocop:disable Security/MarshalLoad
59
60
  rescue TypeError
@@ -61,7 +62,10 @@ module ActiveSupport
61
62
  end
62
63
 
63
64
  def write_entry(name, value, _options = nil)
64
- item = { hash_key => name, CONTENT_KEY => Marshal.dump(value) }
65
+ item = {
66
+ hash_key => name,
67
+ CONTENT_KEY => StringIO.new(Marshal.dump(value))
68
+ }
65
69
 
66
70
  item[ttl_key] = value.expires_at.to_i if value.expires_at
67
71
 
@@ -70,7 +74,7 @@ module ActiveSupport
70
74
  true
71
75
  end
72
76
 
73
- def delete_entry(name, _options)
77
+ def delete_entry(name, _options = nil)
74
78
  dynamodb_client.delete_item(
75
79
  key: { hash_key => name },
76
80
  table_name: table_name
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DynamoStore
4
- VERSION = '0.0.1'
4
+ VERSION = '1.0.2.1'
5
5
  end
data/lib/dynamo-store.rb CHANGED
@@ -1 +1,2 @@
1
+ require 'active_support'
1
2
  require 'active_support/cache/dynamo_store'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dynamo-store
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 1.0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Harkness
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2019-04-08 00:00:00.000000000 Z
12
+ date: 2022-02-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -26,27 +26,27 @@ dependencies:
26
26
  - !ruby/object:Gem::Version
27
27
  version: '5.0'
28
28
  - !ruby/object:Gem::Dependency
29
- name: aws-sdk
29
+ name: aws-sdk-dynamodb
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - ">"
33
33
  - !ruby/object:Gem::Version
34
- version: '2.0'
34
+ version: '1.0'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - ">"
40
40
  - !ruby/object:Gem::Version
41
- version: '2.0'
41
+ version: '1.0'
42
42
  - !ruby/object:Gem::Dependency
43
- name: appraisal
43
+ name: rexml
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - ">="
47
47
  - !ruby/object:Gem::Version
48
48
  version: '0'
49
- type: :development
49
+ type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
@@ -54,19 +54,19 @@ dependencies:
54
54
  - !ruby/object:Gem::Version
55
55
  version: '0'
56
56
  - !ruby/object:Gem::Dependency
57
- name: bundler
57
+ name: appraisal
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - "~>"
60
+ - - ">="
61
61
  - !ruby/object:Gem::Version
62
- version: '2.0'
62
+ version: '0'
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - "~>"
67
+ - - ">="
68
68
  - !ruby/object:Gem::Version
69
- version: '2.0'
69
+ version: '0'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: deep-cover
72
72
  requirement: !ruby/object:Gem::Requirement
@@ -87,14 +87,14 @@ dependencies:
87
87
  requirements:
88
88
  - - "~>"
89
89
  - !ruby/object:Gem::Version
90
- version: '10.0'
90
+ version: '13.0'
91
91
  type: :development
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
95
  - - "~>"
96
96
  - !ruby/object:Gem::Version
97
- version: '10.0'
97
+ version: '13.0'
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: rspec
100
100
  requirement: !ruby/object:Gem::Requirement
@@ -110,7 +110,7 @@ dependencies:
110
110
  - !ruby/object:Gem::Version
111
111
  version: '3.0'
112
112
  - !ruby/object:Gem::Dependency
113
- name: simplecov
113
+ name: rspec_junit_formatter
114
114
  requirement: !ruby/object:Gem::Requirement
115
115
  requirements:
116
116
  - - ">="
@@ -124,7 +124,7 @@ dependencies:
124
124
  - !ruby/object:Gem::Version
125
125
  version: '0'
126
126
  - !ruby/object:Gem::Dependency
127
- name: timecop
127
+ name: simplecov
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  requirements:
130
130
  - - ">="
@@ -138,7 +138,21 @@ dependencies:
138
138
  - !ruby/object:Gem::Version
139
139
  version: '0'
140
140
  - !ruby/object:Gem::Dependency
141
- name: rspec_junit_formatter
141
+ name: simplecov-lcov
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - "~>"
145
+ - !ruby/object:Gem::Version
146
+ version: 0.8.0
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - "~>"
152
+ - !ruby/object:Gem::Version
153
+ version: 0.8.0
154
+ - !ruby/object:Gem::Dependency
155
+ name: timecop
142
156
  requirement: !ruby/object:Gem::Requirement
143
157
  requirements:
144
158
  - - ">="
@@ -159,11 +173,12 @@ executables: []
159
173
  extensions: []
160
174
  extra_rdoc_files: []
161
175
  files:
162
- - ".circleci/config.yml"
176
+ - ".github/workflows/test.yaml"
163
177
  - ".gitignore"
164
178
  - ".rspec"
165
- - ".travis.yml"
166
179
  - Appraisals
180
+ - CONTRIBUTING.md
181
+ - Changelog.md
167
182
  - Gemfile
168
183
  - Gemfile.lock
169
184
  - LICENSE.txt
@@ -173,14 +188,10 @@ files:
173
188
  - bin/setup
174
189
  - dynamo-store.gemspec
175
190
  - gemfiles/.bundle/config
176
- - gemfiles/active_support_5.0.gemfile
177
- - gemfiles/active_support_5.0.gemfile.lock
178
191
  - gemfiles/active_support_5.1.gemfile
179
192
  - gemfiles/active_support_5.1.gemfile.lock
180
193
  - gemfiles/active_support_5.2.gemfile
181
194
  - gemfiles/active_support_5.2.gemfile.lock
182
- - gemfiles/aws_sdk_2.gemfile
183
- - gemfiles/aws_sdk_2.gemfile.lock
184
195
  - gemfiles/aws_sdk_3.gemfile
185
196
  - gemfiles/aws_sdk_3.gemfile.lock
186
197
  - lib/active_support/cache/dynamo_store.rb
@@ -207,8 +218,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
207
218
  - !ruby/object:Gem::Version
208
219
  version: '0'
209
220
  requirements: []
210
- rubyforge_project:
211
- rubygems_version: 2.7.3
221
+ rubygems_version: 3.1.6
212
222
  signing_key:
213
223
  specification_version: 4
214
224
  summary: ActiveSupport Cache Store for DynamoDb
data/.circleci/config.yml DELETED
@@ -1,76 +0,0 @@
1
- # Ruby CircleCI 2.0 configuration file
2
- #
3
- # Check https://circleci.com/docs/2.0/language-ruby/ for more details
4
- #
5
- version: 2
6
-
7
- workflows:
8
- version: 2
9
- commit:
10
- jobs:
11
- - ruby-2.6
12
- - ruby-2.5
13
-
14
- jobs:
15
- "ruby-2.6":
16
- docker:
17
- # specify the version you desire here
18
- - image: ruby:2.6
19
- - image: amazon/dynamodb-local
20
-
21
- steps:
22
- - checkout
23
- - restore_cache:
24
- keys:
25
- - v1-dependencies-2.6-{{ checksum "Gemfile.lock" }}
26
- - v1-dependencies-2.6-
27
- - run:
28
- name: install dependencies
29
- command: |
30
- bundle install --jobs=4 --retry=3 --path vendor/bundle
31
- bundle exec appraisal install
32
- - save_cache:
33
- paths:
34
- - ./vendor/bundle
35
- key: v1-dependencies-2.6-{{ checksum "Gemfile.lock" }}
36
- # run tests!
37
- - run:
38
- name: run tests
39
- command: bundle exec appraisal rspec
40
- # collect reports
41
- - store_test_results:
42
- path: /tmp/test-results
43
- - store_artifacts:
44
- path: /tmp/test-results
45
- destination: test-results
46
- "ruby-2.5":
47
- docker:
48
- # specify the version you desire here
49
- - image: ruby:2.5
50
- - image: amazon/dynamodb-local
51
-
52
- steps:
53
- - checkout
54
- - restore_cache:
55
- keys:
56
- - v1-dependencies-2.5-{{ checksum "Gemfile.lock" }}
57
- - v1-dependencies-2.5-
58
- - run:
59
- name: install dependencies
60
- command: |
61
- bundle install --jobs=4 --retry=3 --path vendor/bundle
62
- bundle exec appraisal install
63
- - save_cache:
64
- paths:
65
- - ./vendor/bundle
66
- key: v1-dependencies-2.5-{{ checksum "Gemfile.lock" }}
67
- # run tests!
68
- - run:
69
- name: run tests
70
- command: bundle exec appraisal rspec
71
- # collect reports
72
- - store_test_results:
73
- path: /tmp/test-results
74
- - store_artifacts:
75
- path: /tmp/test-results
76
- destination: test-results
data/.travis.yml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- sudo: false
3
- language: ruby
4
- cache: bundler
5
- rvm:
6
- - 2.5.3
7
- before_install: gem install bundler -v 2.0.1
@@ -1,7 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "activesupport", "~> 5.0.0"
6
-
7
- gemspec path: "../"