alephant-sequencer 3.0.3 → 3.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: 70791cc777ca8dc9c30303150d54dab85b12c16c
4
- data.tar.gz: 50d77f9bbc6fa698c6196e4211aa8595843eadbd
3
+ metadata.gz: 828631b0eec1400b6adbb9910b9a19e1659e018a
4
+ data.tar.gz: fdc535ef2eaecd2d7b62754877bfb90e19539a21
5
5
  SHA512:
6
- metadata.gz: 3c61f12a292ac7f7f711f7823bfa05b8ed85abf89db555942cf27dc312668decaf588597109fc48f9db0ca7e0595acd0059a3d438faaae0ee2a75581ed7b409a
7
- data.tar.gz: 6c620cb9e6ea5174e9770714d0c46158d03582a8ee6934cccb6ac68449845d4de91f36a5795b408ab2a53bd680426b644bd6f063753e36b8b6838924b4779724
6
+ metadata.gz: b5f00a88470c386b18f7c9e70a3a64420151118eea6519a39735375e897c933b1847f3ee5977e364c1f282c2bd925c959b5bf77765e76c09d0fa3c36698f0ef0
7
+ data.tar.gz: 126c68d4bac4a810677c84876908b779022f88a7f86940d35f82fa17c260d0de4703c0221b042c40b2658d176b71d63e749fb87a7057e584c882f5dcddfb0bd8
@@ -1 +1 @@
1
- jruby-1.7.17
1
+ 2.3
@@ -1,9 +1,10 @@
1
1
  language: ruby
2
2
  rvm:
3
+ - "2.3"
3
4
  - "jruby"
4
5
  notifications:
5
6
  email:
6
7
  recipients:
7
- - kenoir@gmail.com
8
+ - D&ENewsFrameworksTeam@bbc.co.uk
8
9
  on_failure: change
9
10
  on_success: never
@@ -7,7 +7,7 @@ Gem::Specification.new do |spec|
7
7
  spec.name = "alephant-sequencer"
8
8
  spec.version = Alephant::Sequencer::VERSION
9
9
  spec.authors = ["BBC News"]
10
- spec.email = ["FutureMediaNewsRubyGems@bbc.co.uk"]
10
+ spec.email = ["D&ENewsFrameworksTeam@bbc.co.uk"]
11
11
  spec.summary = %q{Adds sequencing functionality to Alephant.}
12
12
  spec.homepage = ""
13
13
  spec.license = "MIT"
@@ -31,7 +31,7 @@ Gem::Specification.new do |spec|
31
31
  spec.add_development_dependency "pry-remote"
32
32
  spec.add_development_dependency "pry-nav"
33
33
 
34
- spec.add_runtime_dependency "aws-sdk", "~> 1.0"
34
+ spec.add_runtime_dependency "aws-sdk-dynamodb"
35
35
  spec.add_runtime_dependency "alephant-logger"
36
36
  spec.add_runtime_dependency "alephant-support"
37
37
  spec.add_runtime_dependency "jsonpath"
@@ -1,4 +1,4 @@
1
- require 'aws-sdk'
1
+ require "aws-sdk-dynamodb"
2
2
  require 'thread'
3
3
  require 'timeout'
4
4
 
@@ -12,8 +12,10 @@ module Alephant
12
12
  attr_reader :table_name, :client
13
13
 
14
14
  def initialize(table_name)
15
+ options = {}
16
+ options[:endpoint] = ENV['AWS_DYNAMO_DB_ENDPOINT'] if ENV['AWS_DYNAMO_DB_ENDPOINT']
15
17
  @mutex = Mutex.new
16
- @client = AWS::DynamoDB::Client::V20120810.new
18
+ @client = Aws::DynamoDB::Client.new(options)
17
19
  @table_name = table_name
18
20
  end
19
21
 
@@ -30,7 +32,7 @@ module Alephant
30
32
  item_payload(ident)
31
33
  )
32
34
 
33
- !data.empty? ? data[:item]['value'][:n].to_i : 0
35
+ !data.empty? ? data.item['value'].to_i : 0
34
36
  end
35
37
 
36
38
  def update_sequence_id(ident, value, last_seen_check = nil)
@@ -39,12 +41,8 @@ module Alephant
39
41
  dynamo_response = @mutex.synchronize do
40
42
  client.put_item(table_name: table_name,
41
43
  item: {
42
- 'key' => {
43
- 'S' => ident
44
- },
45
- 'value' => {
46
- 'N' => value.to_s
47
- }
44
+ 'key' => ident,
45
+ 'value' => value.to_s
48
46
  },
49
47
  expected: {
50
48
  'key' => {
@@ -52,9 +50,7 @@ module Alephant
52
50
  },
53
51
  'value' => {
54
52
  comparison_operator: 'GE',
55
- attribute_value_list: [
56
- { 'N' => current_sequence.to_s }
57
- ]
53
+ attribute_value_list: [current_sequence.to_s]
58
54
  }
59
55
  },
60
56
  conditional_operator: 'OR')
@@ -70,7 +66,7 @@ module Alephant
70
66
 
71
67
  dynamo_response
72
68
 
73
- rescue AWS::DynamoDB::Errors::ConditionalCheckFailedException
69
+ rescue Aws::DynamoDB::Errors::ConditionalCheckFailedException => e
74
70
  logger.metric 'SequencerFailedConditionalChecks'
75
71
  logger.error(
76
72
  'event' => 'DynamoDBConditionalCheckFailed',
@@ -96,9 +92,7 @@ module Alephant
96
92
  {
97
93
  table_name: table_name,
98
94
  key: {
99
- 'key' => {
100
- 'S' => ident.to_s
101
- }
95
+ 'key' => ident.to_s
102
96
  }
103
97
  }
104
98
  end
@@ -1,5 +1,5 @@
1
1
  module Alephant
2
2
  module Sequencer
3
- VERSION = '3.0.3'.freeze
3
+ VERSION = '3.1.0'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,249 +1,249 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alephant-sequencer
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.3
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - BBC News
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-08 00:00:00.000000000 Z
11
+ date: 2018-05-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
+ name: bundler
14
15
  requirement: !ruby/object:Gem::Requirement
15
16
  requirements:
16
- - - ~>
17
+ - - "~>"
17
18
  - !ruby/object:Gem::Version
18
19
  version: '1.5'
19
- name: bundler
20
- prerelease: false
21
20
  type: :development
21
+ prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.5'
27
27
  - !ruby/object:Gem::Dependency
28
+ name: rake
28
29
  requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
- - - '>='
31
+ - - ">="
31
32
  - !ruby/object:Gem::Version
32
33
  version: '0'
33
- name: rake
34
- prerelease: false
35
34
  type: :development
35
+ prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
+ name: rspec
42
43
  requirement: !ruby/object:Gem::Requirement
43
44
  requirements:
44
- - - '>='
45
+ - - ">="
45
46
  - !ruby/object:Gem::Version
46
47
  version: '0'
47
- name: rspec
48
- prerelease: false
49
48
  type: :development
49
+ prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
+ name: rake-rspec
56
57
  requirement: !ruby/object:Gem::Requirement
57
58
  requirements:
58
- - - '>='
59
+ - - ">="
59
60
  - !ruby/object:Gem::Version
60
61
  version: '0'
61
- name: rake-rspec
62
- prerelease: false
63
62
  type: :development
63
+ prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
+ name: rspec-nc
70
71
  requirement: !ruby/object:Gem::Requirement
71
72
  requirements:
72
- - - '>='
73
+ - - ">="
73
74
  - !ruby/object:Gem::Version
74
75
  version: '0'
75
- name: rspec-nc
76
- prerelease: false
77
76
  type: :development
77
+ prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
+ name: guard
84
85
  requirement: !ruby/object:Gem::Requirement
85
86
  requirements:
86
- - - '>='
87
+ - - ">="
87
88
  - !ruby/object:Gem::Version
88
89
  version: '0'
89
- name: guard
90
- prerelease: false
91
90
  type: :development
91
+ prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
+ name: guard-rspec
98
99
  requirement: !ruby/object:Gem::Requirement
99
100
  requirements:
100
- - - '>='
101
+ - - ">="
101
102
  - !ruby/object:Gem::Version
102
103
  version: '0'
103
- name: guard-rspec
104
- prerelease: false
105
104
  type: :development
105
+ prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
+ name: listen
112
113
  requirement: !ruby/object:Gem::Requirement
113
114
  requirements:
114
- - - <
115
+ - - "<"
115
116
  - !ruby/object:Gem::Version
116
117
  version: 3.1.0
117
- name: listen
118
- prerelease: false
119
118
  type: :development
119
+ prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - <
122
+ - - "<"
123
123
  - !ruby/object:Gem::Version
124
124
  version: 3.1.0
125
125
  - !ruby/object:Gem::Dependency
126
+ name: pry
126
127
  requirement: !ruby/object:Gem::Requirement
127
128
  requirements:
128
- - - '>='
129
+ - - ">="
129
130
  - !ruby/object:Gem::Version
130
131
  version: '0'
131
- name: pry
132
- prerelease: false
133
132
  type: :development
133
+ prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - '>='
136
+ - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
+ name: pry-remote
140
141
  requirement: !ruby/object:Gem::Requirement
141
142
  requirements:
142
- - - '>='
143
+ - - ">="
143
144
  - !ruby/object:Gem::Version
144
145
  version: '0'
145
- name: pry-remote
146
- prerelease: false
147
146
  type: :development
147
+ prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - '>='
150
+ - - ">="
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
153
  - !ruby/object:Gem::Dependency
154
+ name: pry-nav
154
155
  requirement: !ruby/object:Gem::Requirement
155
156
  requirements:
156
- - - '>='
157
+ - - ">="
157
158
  - !ruby/object:Gem::Version
158
159
  version: '0'
159
- name: pry-nav
160
- prerelease: false
161
160
  type: :development
161
+ prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - '>='
164
+ - - ">="
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
167
  - !ruby/object:Gem::Dependency
168
+ name: aws-sdk-dynamodb
168
169
  requirement: !ruby/object:Gem::Requirement
169
170
  requirements:
170
- - - ~>
171
+ - - ">="
171
172
  - !ruby/object:Gem::Version
172
- version: '1.0'
173
- name: aws-sdk
174
- prerelease: false
173
+ version: '0'
175
174
  type: :runtime
175
+ prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - ~>
178
+ - - ">="
179
179
  - !ruby/object:Gem::Version
180
- version: '1.0'
180
+ version: '0'
181
181
  - !ruby/object:Gem::Dependency
182
+ name: alephant-logger
182
183
  requirement: !ruby/object:Gem::Requirement
183
184
  requirements:
184
- - - '>='
185
+ - - ">="
185
186
  - !ruby/object:Gem::Version
186
187
  version: '0'
187
- name: alephant-logger
188
- prerelease: false
189
188
  type: :runtime
189
+ prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
- - - '>='
192
+ - - ">="
193
193
  - !ruby/object:Gem::Version
194
194
  version: '0'
195
195
  - !ruby/object:Gem::Dependency
196
+ name: alephant-support
196
197
  requirement: !ruby/object:Gem::Requirement
197
198
  requirements:
198
- - - '>='
199
+ - - ">="
199
200
  - !ruby/object:Gem::Version
200
201
  version: '0'
201
- name: alephant-support
202
- prerelease: false
203
202
  type: :runtime
203
+ prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
- - - '>='
206
+ - - ">="
207
207
  - !ruby/object:Gem::Version
208
208
  version: '0'
209
209
  - !ruby/object:Gem::Dependency
210
+ name: jsonpath
210
211
  requirement: !ruby/object:Gem::Requirement
211
212
  requirements:
212
- - - '>='
213
+ - - ">="
213
214
  - !ruby/object:Gem::Version
214
215
  version: '0'
215
- name: jsonpath
216
- prerelease: false
217
216
  type: :runtime
217
+ prerelease: false
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
- - - '>='
220
+ - - ">="
221
221
  - !ruby/object:Gem::Version
222
222
  version: '0'
223
223
  - !ruby/object:Gem::Dependency
224
+ name: dalli-elasticache
224
225
  requirement: !ruby/object:Gem::Requirement
225
226
  requirements:
226
- - - '>='
227
+ - - ">="
227
228
  - !ruby/object:Gem::Version
228
229
  version: '0'
229
- name: dalli-elasticache
230
- prerelease: false
231
230
  type: :runtime
231
+ prerelease: false
232
232
  version_requirements: !ruby/object:Gem::Requirement
233
233
  requirements:
234
- - - '>='
234
+ - - ">="
235
235
  - !ruby/object:Gem::Version
236
236
  version: '0'
237
- description:
237
+ description:
238
238
  email:
239
- - FutureMediaNewsRubyGems@bbc.co.uk
239
+ - D&ENewsFrameworksTeam@bbc.co.uk
240
240
  executables: []
241
241
  extensions: []
242
242
  extra_rdoc_files: []
243
243
  files:
244
- - .gitignore
245
- - .ruby-version
246
- - .travis.yml
244
+ - ".gitignore"
245
+ - ".ruby-version"
246
+ - ".travis.yml"
247
247
  - Gemfile
248
248
  - Guardfile
249
249
  - LICENSE.txt
@@ -261,24 +261,24 @@ homepage: ''
261
261
  licenses:
262
262
  - MIT
263
263
  metadata: {}
264
- post_install_message:
264
+ post_install_message:
265
265
  rdoc_options: []
266
266
  require_paths:
267
267
  - lib
268
268
  required_ruby_version: !ruby/object:Gem::Requirement
269
269
  requirements:
270
- - - '>='
270
+ - - ">="
271
271
  - !ruby/object:Gem::Version
272
272
  version: '0'
273
273
  required_rubygems_version: !ruby/object:Gem::Requirement
274
274
  requirements:
275
- - - '>='
275
+ - - ">="
276
276
  - !ruby/object:Gem::Version
277
277
  version: '0'
278
278
  requirements: []
279
- rubyforge_project:
280
- rubygems_version: 2.1.9
281
- signing_key:
279
+ rubyforge_project:
280
+ rubygems_version: 2.6.12
281
+ signing_key:
282
282
  specification_version: 4
283
283
  summary: Adds sequencing functionality to Alephant.
284
284
  test_files: