aws-sessionstore-dynamodb 2.0.1 → 2.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
  SHA256:
3
- metadata.gz: b2ab82b0ba3f3fe80387b77624bfba8681349783c2a8d037978da81cd1734d3f
4
- data.tar.gz: dd3c0cf4d028059dc241c4b5a37e109b761da5cfca41111c583182ea0bfad4b1
3
+ metadata.gz: 567a54a1d54a1c4e00d6c85e98636320e6b1dcdddadf7acbeb1240244a32555e
4
+ data.tar.gz: 299b7c0b5780a980c963fe18c7f053919c8e7157ea092f0fbdfb88b263b39f5c
5
5
  SHA512:
6
- metadata.gz: e15b931dd2adda127b74c2d5fa0a60c7fb0a111f40354ff20975ea27d2a190b57c5a0f349184bc8cd48c12aa2f9adc01b0ac3801335c67aba9e308127da96947
7
- data.tar.gz: ddf87deb6796ff6c3d5c62187744e73f88adfe36fff0f512a798c7eaaea36091191ada8e948154053694cd830abb8da983ebb2365e7c9204b1ba11006c411281
6
+ metadata.gz: 9b244ab47e504e446d268570f0fd54d47b6d142c31f17bb30053145f13aaea3a2a34f512841767fe9b0db2b5330983545e7e1c4b8209f309f95137f39762dc3a
7
+ data.tar.gz: 36d11102937288958a31899e99b8cd7d0e84e8e252bdc901e2a7d9514e74853ecd208c63217034c791b477eb83de058e06e0b790203fc5efc8aac94aa5b1bedc
@@ -0,0 +1,32 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+
8
+ pull_request:
9
+ branches:
10
+ - main
11
+
12
+ jobs:
13
+ test:
14
+ runs-on: ubuntu-latest
15
+ strategy:
16
+ fail-fast: false
17
+ matrix:
18
+ ruby: [2.3, 2.4, 2.5, 2.6, 2.7, '3.0', 3.1, 3.2, jruby-9.1, jruby-9.2, jruby-9.3, jruby-9.4]
19
+
20
+ steps:
21
+ - name: Setup
22
+ uses: ruby/setup-ruby@v1
23
+ with:
24
+ ruby-version: ${{ matrix.ruby }}
25
+
26
+ - uses: actions/checkout@v2
27
+
28
+ - name: Install
29
+ run: bundle install --without docs
30
+
31
+ - name: Test
32
+ run: bundle exec rake spec
data/.gitignore CHANGED
@@ -3,3 +3,4 @@ coverage
3
3
  .yardoc
4
4
  Gemfile.lock
5
5
  .release
6
+ .idea/
data/.travis.yml CHANGED
@@ -5,8 +5,6 @@ branches:
5
5
  language: ruby
6
6
 
7
7
  rvm:
8
- - 2.0
9
- - 2.1
10
8
  - 2.2
11
9
  - 2.3
12
10
  - 2.4
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ 2.1.0 (2023-06-02)
2
+ ------------------
3
+
4
+ * Feature - Improve User-Agent tracking and bump minimum DynamoDB version.
5
+
1
6
  2.0.1 (2020-11-16)
2
7
  ------------------
3
8
 
data/Gemfile CHANGED
@@ -13,4 +13,8 @@ group :test do
13
13
  gem 'rspec'
14
14
  gem 'simplecov', require: false
15
15
  gem 'rack-test'
16
+
17
+ if RUBY_VERSION >= '3.0'
18
+ gem 'rexml'
19
+ end
16
20
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.0.1
1
+ 2.1.0
@@ -15,6 +15,7 @@ Gem::Specification.new do |spec|
15
15
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
16
16
  spec.require_paths = ["lib"]
17
17
 
18
- spec.add_dependency 'aws-sdk-dynamodb', '~> 1'
18
+ # Require 1.85.0 for user_agent_frameworks config
19
+ spec.add_dependency 'aws-sdk-dynamodb', '~> 1', '>= 1.85.0'
19
20
  spec.add_dependency 'rack', '~> 2'
20
21
  end
@@ -4,7 +4,3 @@
4
4
  <%= YARD::VERSION %> (ruby-<%= RUBY_VERSION %>).
5
5
  <div id="awsdocs-legal-zone-copyright"></div>
6
6
  </div>
7
-
8
- <!-- Gitter chat -->
9
- <script>((window.gitter = {}).chat = {}).options = { room: 'aws/aws-sdk-ruby' };</script>
10
- <script src="https://sidecar.gitter.im/dist/sidecar.v1.js" async defer></script>
@@ -192,9 +192,9 @@ module Aws::SessionStore::DynamoDB
192
192
 
193
193
  # @return [Hash] DDB client.
194
194
  def gen_dynamo_db_client
195
- client_opts = { user_agent_suffix: " aws-sessionstore/#{VERSION}" }
196
- client = Aws::DynamoDB::Client
197
- dynamo_db_client = @options[:dynamo_db_client] || client.new(client_opts)
195
+ dynamo_db_client = @options[:dynamo_db_client] || Aws::DynamoDB::Client.new
196
+ # this used to be aws-sessionstore/version on user_agent_suffix
197
+ dynamo_db_client.config.user_agent_frameworks << "aws-sessionstore-dynamodb"
198
198
  {:dynamo_db_client => dynamo_db_client}
199
199
  end
200
200
 
@@ -26,7 +26,7 @@ describe Aws::SessionStore::DynamoDB do
26
26
 
27
27
  let(:base_app) { MultiplierApplication.new }
28
28
  let(:app) { Aws::SessionStore::DynamoDB::RackMiddleware.new(base_app, @options) }
29
- let(:client) { double('Aws::DynamoDB::Client') }
29
+ let(:client) { double('Aws::DynamoDB::Client', config: double(user_agent_frameworks: [])) }
30
30
 
31
31
  context 'Error handling for Rack Middleware with default error handler' do
32
32
  it 'raises error for missing secret key' do
@@ -124,9 +124,9 @@ describe Aws::SessionStore::DynamoDB::GarbageCollection do
124
124
  expect(dynamo_db_client).to receive(:scan).
125
125
  exactly(1).times.and_return(scan_resp3)
126
126
  expect(dynamo_db_client).to receive(:batch_write_item).ordered.
127
- with(request_items: { 'sessions' => format_scan_result }).
127
+ with({request_items: { 'sessions' => format_scan_result }}).
128
128
  and_return(write_resp2)
129
- expect(dynamo_db_client).to receive(:batch_write_item).ordered.with(
129
+ expect(dynamo_db_client).to receive(:batch_write_item).ordered.with({
130
130
  request_items: {
131
131
  'sessions' => [
132
132
  {
@@ -151,7 +151,7 @@ describe Aws::SessionStore::DynamoDB::GarbageCollection do
151
151
  }
152
152
  ]
153
153
  }
154
- ).and_return(write_resp1)
154
+ }).and_return(write_resp1)
155
155
  collect_garbage
156
156
  end
157
157
  end
@@ -53,7 +53,8 @@ module Aws
53
53
  delete_item: 'Deleted',
54
54
  list_tables: { table_names: ['Sessions'] },
55
55
  get_item: { item: { 'data' => sample_packed_data } },
56
- update_item: { attributes: { created_at: 'now' } }
56
+ update_item: { attributes: { created_at: 'now' } },
57
+ config: double(user_agent_frameworks: [])
57
58
  )
58
59
  end
59
60
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sessionstore-dynamodb
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-16 00:00:00.000000000 Z
11
+ date: 2023-06-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-dynamodb
@@ -17,6 +17,9 @@ dependencies:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 1.85.0
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -24,6 +27,9 @@ dependencies:
24
27
  - - "~>"
25
28
  - !ruby/object:Gem::Version
26
29
  version: '1'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.85.0
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: rack
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -47,6 +53,7 @@ extensions: []
47
53
  extra_rdoc_files: []
48
54
  files:
49
55
  - ".github/PULL_REQUEST_TEMPLATE.md"
56
+ - ".github/workflows/ci.yml"
50
57
  - ".gitignore"
51
58
  - ".gitmodules"
52
59
  - ".travis.yml"
@@ -104,7 +111,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
104
111
  - !ruby/object:Gem::Version
105
112
  version: '0'
106
113
  requirements: []
107
- rubygems_version: 3.0.3
114
+ rubygems_version: 3.4.10
108
115
  signing_key:
109
116
  specification_version: 4
110
117
  summary: The Amazon DynamoDB Session Store handles sessions for Ruby web applications