sdr-client 2.4.0 → 2.6.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: ee6cf6f853cdced4466b332418b612995059f4b4e0ccb815304ddc6284c650bf
4
- data.tar.gz: 61144422d1b60823942da6aa7295afc86afc0844af10187dadd7c1e83a6e18c5
3
+ metadata.gz: e21c93822b4e8d8980f8bdd0e10d421abc93b4ea135a72e2df031c61f524bcc6
4
+ data.tar.gz: 0743ae560dcbc85e38e350d7a7f0e6248cfd003a7d2fd2624f8c509922d5b330
5
5
  SHA512:
6
- metadata.gz: 9b45b8adb122a9f69192fffeb39d05f98178aeff268194f779de3c79735af5cce6bfca54a2e5eb8b2adc2c26a2d5c2cefd4bb35dcb0ee5994321ee4e9c20ff57
7
- data.tar.gz: 851da7520cce9fa8005f3c50b92fb21fd2b9ea9d8eac18b86cf0ddd06307609091005708e9d0d6372f7316a11117bc1362de4deb4fe368746ae109c293e7e803
6
+ metadata.gz: 70a7b89c29ff97969b1e2144ed85a380be022cfe49a994fe4b3d7a6c1711f8b26199a37451a23b813bbff5e276e27483af01127a124ce9b758de3a9145e0554d
7
+ data.tar.gz: 95846265c5a963713e7a69009fd129a40f06afd43d9be8fa0a3c2a179abd11add3910e6445b722f61ba6cb21445b2ce0a0803ebcf3c366f13f2548600432c2cd
data/.circleci/config.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  version: 2.1
2
2
  orbs:
3
- ruby-rails: sul-dlss/ruby-rails@3.2.0
3
+ ruby-rails: sul-dlss/ruby-rails@4.1.0
4
4
  workflows:
5
5
  build:
6
6
  jobs:
data/.rubocop.yml CHANGED
@@ -150,7 +150,7 @@ RSpec/IdenticalEqualityAssertion: # new in 2.4
150
150
  Enabled: true
151
151
  RSpec/SubjectDeclaration: # new in 2.5
152
152
  Enabled: true
153
- RSpec/FactoryBot/SyntaxMethods: # new in 2.7
153
+ FactoryBot/SyntaxMethods: # new in 2.7
154
154
  Enabled: true
155
155
  RSpec/Rails/AvoidSetupHook: # new in 2.4
156
156
  Enabled: true
@@ -174,7 +174,7 @@ Style/MapCompactWithConditionalBlock: # new in 1.30
174
174
  Enabled: true
175
175
  RSpec/ChangeByZero: # new in 2.11.0
176
176
  Enabled: true
177
- RSpec/Capybara/SpecificMatcher: # new in 2.12
177
+ Capybara/SpecificMatcher: # new in 2.12
178
178
  Enabled: true
179
179
  RSpec/Rails/HaveHttpStatus: # new in 2.12
180
180
  Enabled: true
@@ -185,3 +185,123 @@ Style/EmptyHeredoc: # new in 1.32
185
185
  Enabled: true
186
186
  Style/MagicCommentFormat: # new in 1.35
187
187
  Enabled: true
188
+
189
+ Lint/DuplicateMagicComment: # new in 1.37
190
+ Enabled: true
191
+ Lint/DuplicateMatchPattern: # new in 1.50
192
+ Enabled: true
193
+ Lint/UselessRescue: # new in 1.43
194
+ Enabled: true
195
+ Metrics/CollectionLiteralLength: # new in 1.47
196
+ Enabled: true
197
+ Style/ArrayIntersect: # new in 1.40
198
+ Enabled: true
199
+ Style/ComparableClamp: # new in 1.44
200
+ Enabled: true
201
+ Style/ConcatArrayLiterals: # new in 1.41
202
+ Enabled: true
203
+ Style/DataInheritance: # new in 1.49
204
+ Enabled: true
205
+ Style/DirEmpty: # new in 1.48
206
+ Enabled: true
207
+ Style/ExactRegexpMatch: # new in 1.51
208
+ Enabled: true
209
+ Style/FileEmpty: # new in 1.48
210
+ Enabled: true
211
+ Style/MapToSet: # new in 1.42
212
+ Enabled: true
213
+ Style/MinMaxComparison: # new in 1.42
214
+ Enabled: true
215
+ Style/OperatorMethodCall: # new in 1.37
216
+ Enabled: true
217
+ Style/RedundantArrayConstructor: # new in 1.52
218
+ Enabled: true
219
+ Style/RedundantConstantBase: # new in 1.40
220
+ Enabled: true
221
+ Style/RedundantDoubleSplatHashBraces: # new in 1.41
222
+ Enabled: true
223
+ Style/RedundantEach: # new in 1.38
224
+ Enabled: true
225
+ Style/RedundantFilterChain: # new in 1.52
226
+ Enabled: true
227
+ Style/RedundantHeredocDelimiterQuotes: # new in 1.45
228
+ Enabled: true
229
+ Style/RedundantLineContinuation: # new in 1.49
230
+ Enabled: true
231
+ Style/RedundantRegexpConstructor: # new in 1.52
232
+ Enabled: true
233
+ Style/RedundantStringEscape: # new in 1.37
234
+ Enabled: true
235
+ Capybara/MatchStyle: # new in 2.17
236
+ Enabled: true
237
+ Capybara/NegationMatcher: # new in 2.14
238
+ Enabled: true
239
+ Capybara/SpecificActions: # new in 2.14
240
+ Enabled: true
241
+ Capybara/SpecificFinders: # new in 2.13
242
+ Enabled: true
243
+ FactoryBot/AssociationStyle: # new in 2.23
244
+ Enabled: true
245
+ FactoryBot/ConsistentParenthesesStyle: # new in 2.14
246
+ Enabled: true
247
+ FactoryBot/FactoryAssociationWithStrategy: # new in 2.23
248
+ Enabled: true
249
+ FactoryBot/FactoryNameStyle: # new in 2.16
250
+ Enabled: true
251
+ FactoryBot/RedundantFactoryOption: # new in 2.23
252
+ Enabled: true
253
+ RSpec/BeEmpty: # new in 2.20
254
+ Enabled: true
255
+ RSpec/ContainExactly: # new in 2.19
256
+ Enabled: true
257
+ RSpec/DuplicatedMetadata: # new in 2.16
258
+ Enabled: true
259
+ RSpec/IndexedLet: # new in 2.20
260
+ Enabled: true
261
+ RSpec/MatchArray: # new in 2.19
262
+ Enabled: true
263
+ RSpec/NoExpectationExample: # new in 2.13
264
+ Enabled: true
265
+ RSpec/PendingWithoutReason: # new in 2.16
266
+ Enabled: true
267
+ RSpec/RedundantAround: # new in 2.19
268
+ Enabled: true
269
+ RSpec/SkipBlockInsideExample: # new in 2.19
270
+ Enabled: true
271
+ RSpec/SortMetadata: # new in 2.14
272
+ Enabled: true
273
+ RSpec/Rails/InferredSpecType: # new in 2.14
274
+ Enabled: true
275
+ RSpec/Rails/MinitestAssertions: # new in 2.17
276
+ Enabled: true
277
+ RSpec/Rails/TravelAround: # new in 2.19
278
+ Enabled: true
279
+
280
+ Gemspec/DevelopmentDependencies: # new in 1.44
281
+ Enabled: true
282
+ Lint/MixedCaseRange: # new in 1.53
283
+ Enabled: true
284
+ Lint/RedundantRegexpQuantifiers: # new in 1.53
285
+ Enabled: true
286
+ Style/RedundantCurrentDirectoryInPath: # new in 1.53
287
+ Enabled: true
288
+ Style/RedundantRegexpArgument: # new in 1.53
289
+ Enabled: true
290
+ Style/ReturnNilInPredicateMethodDefinition: # new in 1.53
291
+ Enabled: true
292
+ Style/YAMLFileRead: # new in 1.53
293
+ Enabled: true
294
+ RSpec/EmptyMetadata: # new in 2.24
295
+ Enabled: true
296
+ RSpec/Eq: # new in 2.24
297
+ Enabled: true
298
+ RSpec/MetadataStyle: # new in 2.24
299
+ Enabled: true
300
+ RSpec/ReceiveMessages: # new in 2.23
301
+ Enabled: true
302
+ RSpec/SpecFilePathFormat: # new in 2.24
303
+ Enabled: true
304
+ RSpec/SpecFilePathSuffix: # new in 2.24
305
+ Enabled: true
306
+ RSpec/Rails/NegationBeValid: # new in 2.23
307
+ Enabled: true
data/.rubocop_todo.yml CHANGED
@@ -1,13 +1,13 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config --auto-gen-only-exclude`
3
- # on 2022-09-08 16:31:29 UTC using RuboCop version 1.36.0.
3
+ # on 2023-09-11 17:08:41 UTC using RuboCop version 1.56.3.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
7
7
  # versions of RuboCop, may require this file to be generated again.
8
8
 
9
9
  # Offense count: 1
10
- # Configuration parameters: Include.
10
+ # Configuration parameters: Severity, Include.
11
11
  # Include: **/*.gemspec
12
12
  Gemspec/RequiredRubyVersion:
13
13
  Exclude:
@@ -27,20 +27,20 @@ Lint/UnusedMethodArgument:
27
27
  - 'lib/sdr_client/deposit/image_file_set_strategy.rb'
28
28
 
29
29
  # Offense count: 4
30
- # Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredMethods, CountRepeatedAttributes, Max.
30
+ # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes, Max.
31
31
  Metrics/AbcSize:
32
32
  Exclude:
33
33
  - 'lib/sdr_client/cli.rb'
34
34
  - 'lib/sdr_client/update.rb'
35
35
 
36
36
  # Offense count: 1
37
- # Configuration parameters: AllowedMethods, AllowedPatterns, IgnoredMethods, Max.
37
+ # Configuration parameters: AllowedMethods, AllowedPatterns, Max.
38
38
  Metrics/CyclomaticComplexity:
39
39
  Exclude:
40
40
  - 'lib/sdr_client/update.rb'
41
41
 
42
42
  # Offense count: 12
43
- # Configuration parameters: CountComments, Max, CountAsOne, ExcludedMethods, AllowedMethods, AllowedPatterns, IgnoredMethods.
43
+ # Configuration parameters: CountComments, Max, CountAsOne, AllowedMethods, AllowedPatterns.
44
44
  Metrics/MethodLength:
45
45
  Exclude:
46
46
  - 'lib/sdr_client/cli.rb'
@@ -59,14 +59,6 @@ RSpec/ExampleLength:
59
59
  - 'spec/sdr_client/model_deposit_spec.rb'
60
60
  - 'spec/sdr_client/update_spec.rb'
61
61
 
62
- # Offense count: 2
63
- # Configuration parameters: Include, CustomTransform, IgnoreMethods, SpecSuffixOnly.
64
- # Include: **/*_spec*rb*, **/spec/**/*
65
- RSpec/FilePath:
66
- Exclude:
67
- - 'spec/sdr_client/client_spec.rb'
68
- - 'spec/sdr_client/model_deposit_spec.rb'
69
-
70
62
  # Offense count: 1
71
63
  # Configuration parameters: EnforcedStyle.
72
64
  # SupportedStyles: have_received, receive
@@ -85,18 +77,9 @@ RSpec/MultipleExpectations:
85
77
  - 'spec/sdr_client/login_spec.rb'
86
78
  - 'spec/sdr_client/model_deposit_spec.rb'
87
79
 
88
- # Offense count: 36
89
- # Configuration parameters: AllowSubject, Max.
90
- RSpec/MultipleMemoizedHelpers:
91
- Exclude:
92
- - 'spec/sdr_client/deposit/metadata_builder_spec.rb'
93
- - 'spec/sdr_client/deposit/model_process_spec.rb'
94
- - 'spec/sdr_client/deposit/process_spec.rb'
95
- - 'spec/sdr_client/deposit/request_spec.rb'
96
- - 'spec/sdr_client/update_spec.rb'
97
-
98
80
  # Offense count: 24
99
- # Configuration parameters: IgnoreSharedExamples.
81
+ # Configuration parameters: EnforcedStyle, IgnoreSharedExamples.
82
+ # SupportedStyles: always, named_only
100
83
  RSpec/NamedSubject:
101
84
  Exclude:
102
85
  - 'spec/sdr_client/background_job_results_spec.rb'
@@ -107,7 +90,7 @@ RSpec/NamedSubject:
107
90
  - 'spec/sdr_client/login_spec.rb'
108
91
 
109
92
  # Offense count: 19
110
- # Configuration parameters: Max.
93
+ # Configuration parameters: Max, AllowedGroups.
111
94
  RSpec/NestedGroups:
112
95
  Exclude:
113
96
  - 'spec/sdr_client/deposit/metadata_builder_spec.rb'
@@ -116,7 +99,22 @@ RSpec/NestedGroups:
116
99
  - 'spec/sdr_client/login_spec.rb'
117
100
  - 'spec/sdr_client/update_spec.rb'
118
101
 
119
- # Offense count: 19
102
+ # Offense count: 5
103
+ # This cop supports unsafe autocorrection (--autocorrect-all).
104
+ RSpec/ReceiveMessages:
105
+ Exclude:
106
+ - 'spec/sdr_client/update_spec.rb'
107
+
108
+ # Offense count: 2
109
+ # Configuration parameters: Include, CustomTransform, IgnoreMethods, IgnoreMetadata.
110
+ # Include: **/*_spec.rb
111
+ RSpec/SpecFilePathFormat:
112
+ Exclude:
113
+ - '**/spec/routing/**/*'
114
+ - 'spec/sdr_client/client_spec.rb'
115
+ - 'spec/sdr_client/model_deposit_spec.rb'
116
+
117
+ # Offense count: 21
120
118
  # This cop supports safe autocorrection (--autocorrect).
121
119
  Style/KeywordParametersOrder:
122
120
  Exclude:
@@ -137,9 +135,9 @@ Style/StringConcatenation:
137
135
  - 'lib/sdr_client/deposit/create_resource.rb'
138
136
  - 'spec/sdr_client/deposit_spec.rb'
139
137
 
140
- # Offense count: 33
138
+ # Offense count: 35
141
139
  # This cop supports safe autocorrection (--autocorrect).
142
- # Configuration parameters: Max, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns, IgnoredPatterns.
140
+ # Configuration parameters: Max, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
143
141
  # URISchemes: http, https
144
142
  Layout/LineLength:
145
143
  Exclude:
data/Gemfile CHANGED
@@ -7,3 +7,15 @@ gemspec
7
7
 
8
8
  gem 'byebug'
9
9
  gem 'rspec_junit_formatter' # For circleCI
10
+
11
+ group :development do
12
+ gem 'bundler', '~> 2.0'
13
+ gem 'rake', '~> 13.0'
14
+ gem 'rspec', '~> 3.0'
15
+ gem 'rubocop', '~> 1.24'
16
+ gem 'rubocop-rake'
17
+ gem 'rubocop-rspec', '~> 2.1'
18
+ gem 'simplecov'
19
+ gem 'thor'
20
+ gem 'webmock', '~> 3.7'
21
+ end
data/Gemfile.lock CHANGED
@@ -1,9 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sdr-client (2.4.0)
4
+ sdr-client (2.6.0)
5
5
  activesupport
6
- cocina-models (~> 0.90.0)
6
+ cocina-models (~> 0.91.0)
7
7
  config
8
8
  dry-monads
9
9
  faraday (>= 0.16)
@@ -12,17 +12,18 @@ PATH
12
12
  GEM
13
13
  remote: https://rubygems.org/
14
14
  specs:
15
- activesupport (7.0.4.3)
15
+ activesupport (7.0.8)
16
16
  concurrent-ruby (~> 1.0, >= 1.0.2)
17
17
  i18n (>= 1.6, < 2)
18
18
  minitest (>= 5.1)
19
19
  tzinfo (~> 2.0)
20
- addressable (2.8.1)
20
+ addressable (2.8.5)
21
21
  public_suffix (>= 2.0.2, < 6.0)
22
22
  ast (2.4.2)
23
23
  attr_extras (7.1.0)
24
+ base64 (0.1.1)
24
25
  byebug (11.1.3)
25
- cocina-models (0.90.0)
26
+ cocina-models (0.91.0)
26
27
  activesupport
27
28
  deprecation
28
29
  dry-struct (~> 1.0)
@@ -32,14 +33,14 @@ GEM
32
33
  jsonpath
33
34
  nokogiri
34
35
  openapi3_parser
35
- openapi_parser (>= 0.11.1, < 1.0)
36
+ openapi_parser (~> 1.0)
36
37
  rss
37
38
  super_diff
38
39
  thor
39
40
  zeitwerk (~> 2.1)
40
- commonmarker (0.23.8)
41
+ commonmarker (0.23.10)
41
42
  concurrent-ruby (1.2.2)
42
- config (4.1.0)
43
+ config (4.2.1)
43
44
  deep_merge (~> 1.2, >= 1.2.1)
44
45
  dry-validation (~> 1.0, >= 1.0.0)
45
46
  crack (0.4.5)
@@ -49,10 +50,10 @@ GEM
49
50
  activesupport
50
51
  diff-lcs (1.5.0)
51
52
  docile (1.4.0)
52
- dry-configurable (1.0.1)
53
+ dry-configurable (1.1.0)
53
54
  dry-core (~> 1.0, < 2)
54
55
  zeitwerk (~> 2.6)
55
- dry-core (1.0.0)
56
+ dry-core (1.0.1)
56
57
  concurrent-ruby (~> 1.0)
57
58
  zeitwerk (~> 2.6)
58
59
  dry-inflector (1.0.0)
@@ -65,12 +66,12 @@ GEM
65
66
  concurrent-ruby (~> 1.0)
66
67
  dry-core (~> 1.0, < 2)
67
68
  zeitwerk (~> 2.6)
68
- dry-schema (1.13.0)
69
+ dry-schema (1.13.3)
69
70
  concurrent-ruby (~> 1.0)
70
71
  dry-configurable (~> 1.0, >= 1.0.1)
71
72
  dry-core (~> 1.0, < 2)
72
73
  dry-initializer (~> 3.0)
73
- dry-logic (>= 1.5, < 2)
74
+ dry-logic (>= 1.4, < 2)
74
75
  dry-types (>= 1.7, < 2)
75
76
  zeitwerk (~> 2.6)
76
77
  dry-struct (1.6.0)
@@ -94,76 +95,83 @@ GEM
94
95
  activesupport (>= 3.0, < 8.0)
95
96
  equivalent-xml (0.6.0)
96
97
  nokogiri (>= 1.4.3)
97
- faraday (2.7.4)
98
+ faraday (2.7.10)
98
99
  faraday-net_http (>= 2.0, < 3.1)
99
100
  ruby2_keywords (>= 0.0.4)
100
101
  faraday-net_http (3.0.2)
101
102
  hashdiff (1.0.1)
102
- i18n (1.12.0)
103
+ i18n (1.14.1)
103
104
  concurrent-ruby (~> 1.0)
104
105
  ice_nine (0.11.2)
105
106
  json (2.6.3)
106
- jsonpath (1.1.2)
107
+ jsonpath (1.1.3)
107
108
  multi_json
109
+ language_server-protocol (3.17.0.3)
108
110
  launchy (2.5.2)
109
111
  addressable (~> 2.8)
110
- minitest (5.18.0)
112
+ minitest (5.20.0)
111
113
  multi_json (1.15.0)
112
- nokogiri (1.14.2-x86_64-darwin)
114
+ nokogiri (1.15.4-x86_64-darwin)
113
115
  racc (~> 1.4)
114
- nokogiri (1.14.2-x86_64-linux)
116
+ nokogiri (1.15.4-x86_64-linux)
115
117
  racc (~> 1.4)
116
118
  openapi3_parser (0.9.2)
117
119
  commonmarker (~> 0.17)
118
- openapi_parser (0.15.0)
119
- optimist (3.0.1)
120
- parallel (1.22.1)
121
- parser (3.2.1.1)
120
+ openapi_parser (1.0.0)
121
+ optimist (3.1.0)
122
+ parallel (1.23.0)
123
+ parser (3.2.2.3)
122
124
  ast (~> 2.4.1)
125
+ racc
123
126
  patience_diff (1.2.0)
124
127
  optimist (~> 3.0)
125
- public_suffix (5.0.1)
126
- racc (1.6.2)
128
+ public_suffix (5.0.3)
129
+ racc (1.7.1)
127
130
  rainbow (3.1.1)
128
131
  rake (13.0.6)
129
- regexp_parser (2.7.0)
130
- rexml (3.2.5)
132
+ regexp_parser (2.8.1)
133
+ rexml (3.2.6)
131
134
  rspec (3.12.0)
132
135
  rspec-core (~> 3.12.0)
133
136
  rspec-expectations (~> 3.12.0)
134
137
  rspec-mocks (~> 3.12.0)
135
- rspec-core (3.12.1)
138
+ rspec-core (3.12.2)
136
139
  rspec-support (~> 3.12.0)
137
- rspec-expectations (3.12.2)
140
+ rspec-expectations (3.12.3)
138
141
  diff-lcs (>= 1.2.0, < 2.0)
139
142
  rspec-support (~> 3.12.0)
140
- rspec-mocks (3.12.5)
143
+ rspec-mocks (3.12.6)
141
144
  diff-lcs (>= 1.2.0, < 2.0)
142
145
  rspec-support (~> 3.12.0)
143
- rspec-support (3.12.0)
146
+ rspec-support (3.12.1)
144
147
  rspec_junit_formatter (0.6.0)
145
148
  rspec-core (>= 2, < 4, != 2.12.0)
146
- rss (0.2.9)
149
+ rss (0.3.0)
147
150
  rexml
148
- rubocop (1.48.1)
151
+ rubocop (1.56.3)
152
+ base64 (~> 0.1.1)
149
153
  json (~> 2.3)
154
+ language_server-protocol (>= 3.17.0)
150
155
  parallel (~> 1.10)
151
- parser (>= 3.2.0.0)
156
+ parser (>= 3.2.2.3)
152
157
  rainbow (>= 2.2.2, < 4.0)
153
158
  regexp_parser (>= 1.8, < 3.0)
154
159
  rexml (>= 3.2.5, < 4.0)
155
- rubocop-ast (>= 1.26.0, < 2.0)
160
+ rubocop-ast (>= 1.28.1, < 2.0)
156
161
  ruby-progressbar (~> 1.7)
157
162
  unicode-display_width (>= 2.4.0, < 3.0)
158
- rubocop-ast (1.28.0)
163
+ rubocop-ast (1.29.0)
159
164
  parser (>= 3.2.1.0)
160
- rubocop-capybara (2.17.1)
165
+ rubocop-capybara (2.18.0)
161
166
  rubocop (~> 1.41)
167
+ rubocop-factory_bot (2.23.1)
168
+ rubocop (~> 1.33)
162
169
  rubocop-rake (0.6.0)
163
170
  rubocop (~> 1.0)
164
- rubocop-rspec (2.19.0)
171
+ rubocop-rspec (2.24.0)
165
172
  rubocop (~> 1.33)
166
173
  rubocop-capybara (~> 2.17)
174
+ rubocop-factory_bot (~> 2.22)
167
175
  ruby-progressbar (1.13.0)
168
176
  ruby2_keywords (0.0.5)
169
177
  simplecov (0.22.0)
@@ -176,19 +184,20 @@ GEM
176
184
  attr_extras (>= 6.2.4)
177
185
  diff-lcs
178
186
  patience_diff
179
- thor (1.2.1)
187
+ thor (1.2.2)
180
188
  tzinfo (2.0.6)
181
189
  concurrent-ruby (~> 1.0)
182
190
  unicode-display_width (2.4.2)
183
- webmock (3.18.1)
191
+ webmock (3.19.1)
184
192
  addressable (>= 2.8.0)
185
193
  crack (>= 0.3.2)
186
194
  hashdiff (>= 0.4.0, < 2.0.0)
187
- zeitwerk (2.6.7)
195
+ zeitwerk (2.6.11)
188
196
 
189
197
  PLATFORMS
190
198
  x86_64-darwin-19
191
199
  x86_64-darwin-21
200
+ x86_64-darwin-22
192
201
  x86_64-linux
193
202
 
194
203
  DEPENDENCIES
@@ -206,4 +215,4 @@ DEPENDENCIES
206
215
  webmock (~> 3.7)
207
216
 
208
217
  BUNDLED WITH
209
- 2.3.22
218
+ 2.4.13
@@ -10,19 +10,37 @@ module SdrClient
10
10
  checksum = Digest::MD5.file(path).base64digest
11
11
  new(checksum: checksum,
12
12
  byte_size: ::File.size(path),
13
- content_type: content_type || 'application/octet-stream',
13
+ content_type: clean_and_translate_content_type(content_type),
14
14
  filename: file_name)
15
15
  end
16
16
 
17
17
  def as_json
18
18
  {
19
- blob: { filename: filename, byte_size: byte_size, checksum: checksum, content_type: content_type }
19
+ blob: { filename: filename, byte_size: byte_size, checksum: checksum,
20
+ content_type: self.class.clean_and_translate_content_type(content_type) }
20
21
  }
21
22
  end
22
23
 
23
24
  def to_json(*_args)
24
25
  JSON.generate(as_json)
25
26
  end
27
+
28
+ # Invalid JSON files with a content type of application/json will trigger 400 errors in sdr-api
29
+ # since they are parsed and rejected (not clear why and what part of the stack is doing this).
30
+ # The work around is to change the content_type for any JSON files to a custom stand-in and
31
+ # specific to avoid the parsing, and then have this translated back to application/json after .
32
+ # upload is complete. There is a corresponding change in sdr-api to translate the content_type back
33
+ # before the Cocina is saved.
34
+ # See https://github.com/sul-dlss/happy-heron/issues/3075 for the original bug report
35
+ # See https://github.com/sul-dlss/sdr-api/pull/585 for the change in sdr-api
36
+ def self.clean_and_translate_content_type(content_type)
37
+ return 'application/octet-stream' if content_type.blank?
38
+
39
+ # ActiveStorage is expecting "application/x-stata-dta" not "application/x-stata-dta;version=14"
40
+ content_type = content_type.split(';')&.first
41
+
42
+ content_type == 'application/json' ? 'application/x-stanford-json' : content_type
43
+ end
26
44
  end
27
45
  end
28
46
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SdrClient
4
- VERSION = '2.4.0'
4
+ VERSION = '2.6.0'
5
5
  end
data/sdr-client.gemspec CHANGED
@@ -28,20 +28,11 @@ Gem::Specification.new do |spec|
28
28
  spec.require_paths = ['lib']
29
29
 
30
30
  spec.add_dependency 'activesupport'
31
- spec.add_dependency 'cocina-models', '~> 0.90.0'
31
+ spec.add_dependency 'cocina-models', '~> 0.91.0'
32
32
  spec.add_dependency 'config'
33
33
  spec.add_dependency 'dry-monads'
34
34
  spec.add_dependency 'faraday', '>= 0.16'
35
35
  spec.add_dependency 'launchy'
36
36
 
37
- spec.add_development_dependency 'bundler', '~> 2.0'
38
- spec.add_development_dependency 'rake', '~> 13.0'
39
- spec.add_development_dependency 'rspec', '~> 3.0'
40
- spec.add_development_dependency 'rubocop', '~> 1.24'
41
- spec.add_development_dependency 'rubocop-rake'
42
- spec.add_development_dependency 'rubocop-rspec', '~> 2.1'
43
- spec.add_development_dependency 'simplecov'
44
- spec.add_development_dependency 'thor'
45
- spec.add_development_dependency 'webmock', '~> 3.7'
46
37
  spec.metadata['rubygems_mfa_required'] = 'true'
47
38
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sdr-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.0
4
+ version: 2.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-03-31 00:00:00.000000000 Z
11
+ date: 2023-09-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.90.0
33
+ version: 0.91.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.90.0
40
+ version: 0.91.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: config
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -94,132 +94,6 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: bundler
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: '2.0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: '2.0'
111
- - !ruby/object:Gem::Dependency
112
- name: rake
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: '13.0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - "~>"
123
- - !ruby/object:Gem::Version
124
- version: '13.0'
125
- - !ruby/object:Gem::Dependency
126
- name: rspec
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - "~>"
130
- - !ruby/object:Gem::Version
131
- version: '3.0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - "~>"
137
- - !ruby/object:Gem::Version
138
- version: '3.0'
139
- - !ruby/object:Gem::Dependency
140
- name: rubocop
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - "~>"
144
- - !ruby/object:Gem::Version
145
- version: '1.24'
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - "~>"
151
- - !ruby/object:Gem::Version
152
- version: '1.24'
153
- - !ruby/object:Gem::Dependency
154
- name: rubocop-rake
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - ">="
158
- - !ruby/object:Gem::Version
159
- version: '0'
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - ">="
165
- - !ruby/object:Gem::Version
166
- version: '0'
167
- - !ruby/object:Gem::Dependency
168
- name: rubocop-rspec
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - "~>"
172
- - !ruby/object:Gem::Version
173
- version: '2.1'
174
- type: :development
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - "~>"
179
- - !ruby/object:Gem::Version
180
- version: '2.1'
181
- - !ruby/object:Gem::Dependency
182
- name: simplecov
183
- requirement: !ruby/object:Gem::Requirement
184
- requirements:
185
- - - ">="
186
- - !ruby/object:Gem::Version
187
- version: '0'
188
- type: :development
189
- prerelease: false
190
- version_requirements: !ruby/object:Gem::Requirement
191
- requirements:
192
- - - ">="
193
- - !ruby/object:Gem::Version
194
- version: '0'
195
- - !ruby/object:Gem::Dependency
196
- name: thor
197
- requirement: !ruby/object:Gem::Requirement
198
- requirements:
199
- - - ">="
200
- - !ruby/object:Gem::Version
201
- version: '0'
202
- type: :development
203
- prerelease: false
204
- version_requirements: !ruby/object:Gem::Requirement
205
- requirements:
206
- - - ">="
207
- - !ruby/object:Gem::Version
208
- version: '0'
209
- - !ruby/object:Gem::Dependency
210
- name: webmock
211
- requirement: !ruby/object:Gem::Requirement
212
- requirements:
213
- - - "~>"
214
- - !ruby/object:Gem::Version
215
- version: '3.7'
216
- type: :development
217
- prerelease: false
218
- version_requirements: !ruby/object:Gem::Requirement
219
- requirements:
220
- - - "~>"
221
- - !ruby/object:Gem::Version
222
- version: '3.7'
223
97
  description: This provides a way to deposit repository objects into the Stanford Digital
224
98
  Repository
225
99
  email:
@@ -304,7 +178,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
304
178
  - !ruby/object:Gem::Version
305
179
  version: '0'
306
180
  requirements: []
307
- rubygems_version: 3.2.32
181
+ rubygems_version: 3.3.7
308
182
  signing_key:
309
183
  specification_version: 4
310
184
  summary: The CLI for https://github.com/sul-dlss/sdr-api