mais_orcid_client 0.3.1 → 1.0.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: b93e75dc3042635205b947c21d9697808b9bdefa9d9dae8598e03db1eac3e128
4
- data.tar.gz: d714d5c0985596191dba26e801a43455dd926b307e5a88753c66e5a8550d918d
3
+ metadata.gz: 37780670257a67170aacd956c9b28d77462974a7068229a221985c55993435e0
4
+ data.tar.gz: bb7b89396a2ac1539d7b39dfe6732e5047312c14ae0a269e8a20b9780e434642
5
5
  SHA512:
6
- metadata.gz: 227b68aa40fee6c5a55dbea773ef788bc5235c094a8ede1b717881ad9cb4e431de368a4d8e20b7564e60dc9c02f4f0657d47835a2bc490a4f2db174f6ba0f8e0
7
- data.tar.gz: 8860974d178d49ddca9153d9a71a31ca25d4e2050541c02fc7d185c7ad04d45854dc4087022c6194b9c52883a2d7e385a4a6beb7be0ab5858c41608627e4cb37
6
+ metadata.gz: f64d3d4daa1150758535609ee01669850b03fa581e0a6089dbb40702373ab41a2189e4ddc0cdc2783ef8f5894e3b59bb8718ab5c6b376fac59bc5089325b729a
7
+ data.tar.gz: 525a539b133093d30b7b3099bfadd7d149b7ee53c64b2cee364e4325e73eb7e82876c85d4d768f2b21ea88c94bec1bb2856e84da0d83ceaa3c563197c96f99af
data/.rubocop.yml CHANGED
@@ -1,18 +1,354 @@
1
- inherit_mode:
2
- merge:
3
- - Exclude
4
-
5
1
  require:
6
- - standard
7
- - standard-custom
8
- - standard-performance
2
+ - rubocop-capybara
3
+ - rubocop-factory_bot
9
4
  - rubocop-performance
10
5
  - rubocop-rspec
6
+ - rubocop-rspec_rails
7
+
8
+ AllCops:
9
+ TargetRubyVersion: 3.2
10
+ DisplayCopNames: true
11
+ SuggestExtensions: false
12
+ Exclude:
13
+ - bin/**
14
+ - vendor/bundle/**/*
15
+
16
+ # Per team developer playbook
17
+ RSpec/MultipleMemoizedHelpers:
18
+ Enabled: false
19
+
20
+ RSpec/BeEq: # new in 2.9.0
21
+ Enabled: true
22
+ RSpec/BeNil: # new in 2.9.0
23
+ Enabled: true
24
+ RSpec/ChangeByZero: # new in 2.11
25
+ Enabled: true
26
+ RSpec/ClassCheck: # new in 2.13
27
+ Enabled: true
28
+ RSpec/ExcessiveDocstringSpacing: # new in 2.5
29
+ Enabled: true
30
+ RSpec/IdenticalEqualityAssertion: # new in 2.4
31
+ Enabled: true
32
+ RSpec/NoExpectationExample: # new in 2.13
33
+ Enabled: true
34
+ RSpec/SortMetadata: # new in 2.14
35
+ Enabled: true
36
+ RSpec/SubjectDeclaration: # new in 2.5
37
+ Enabled: true
38
+ RSpec/VerifiedDoubleReference: # new in 2.10.0
39
+ Enabled: true
40
+ Capybara/NegationMatcher: # new in 2.14
41
+ Enabled: true
42
+ Capybara/SpecificActions: # new in 2.14
43
+ Enabled: true
44
+ Capybara/SpecificFinders: # new in 2.13
45
+ Enabled: true
46
+ Capybara/SpecificMatcher: # new in 2.12
47
+ Enabled: true
48
+ FactoryBot/ConsistentParenthesesStyle: # new in 2.14
49
+ Enabled: true
50
+ FactoryBot/SyntaxMethods: # new in 2.7
51
+ Enabled: true
52
+ RSpecRails/AvoidSetupHook: # new in 2.4
53
+ Enabled: true
54
+ RSpecRails/HaveHttpStatus: # new in 2.12
55
+ Enabled: true
56
+ RSpecRails/InferredSpecType: # new in 2.14
57
+ Enabled: true
58
+
59
+ RSpec/MultipleExpectations:
60
+ Enabled: false
11
61
 
12
- inherit_gem:
13
- standard: config/base.yml
14
- standard-performance: config/base.yml
15
- standard-custom: config/base.yml
62
+ Capybara/MatchStyle: # new in 2.17
63
+ Enabled: true
64
+ FactoryBot/AssociationStyle: # new in 2.23
65
+ Enabled: true
66
+ FactoryBot/FactoryAssociationWithStrategy: # new in 2.23
67
+ Enabled: true
68
+ FactoryBot/FactoryNameStyle: # new in 2.16
69
+ Enabled: true
70
+ FactoryBot/RedundantFactoryOption: # new in 2.23
71
+ Enabled: true
72
+ RSpec/BeEmpty: # new in 2.20
73
+ Enabled: true
74
+ RSpec/ContainExactly: # new in 2.19
75
+ Enabled: true
76
+ RSpec/DuplicatedMetadata: # new in 2.16
77
+ Enabled: true
78
+ RSpec/IndexedLet: # new in 2.20
79
+ Enabled: true
80
+ RSpec/MatchArray: # new in 2.19
81
+ Enabled: true
82
+ RSpec/PendingWithoutReason: # new in 2.16
83
+ Enabled: true
84
+ RSpec/RedundantAround: # new in 2.19
85
+ Enabled: true
86
+ RSpec/SkipBlockInsideExample: # new in 2.19
87
+ Enabled: true
88
+ RSpecRails/MinitestAssertions: # new in 2.17
89
+ Enabled: true
90
+ RSpecRails/TravelAround: # new in 2.19
91
+ Enabled: true
16
92
 
17
- inherit_from:
18
- - .rubocop/custom.yml
93
+ Gemspec/DeprecatedAttributeAssignment: # new in 1.30
94
+ Enabled: true
95
+ Gemspec/DevelopmentDependencies: # new in 1.44
96
+ Enabled: false
97
+ Gemspec/RequireMFA: # new in 1.23
98
+ Enabled: true
99
+ Layout/LineContinuationLeadingSpace: # new in 1.31
100
+ Enabled: true
101
+ Layout/LineContinuationSpacing: # new in 1.31
102
+ Enabled: true
103
+ Layout/LineEndStringConcatenationIndentation: # new in 1.18
104
+ Enabled: true
105
+ Layout/SpaceBeforeBrackets: # new in 1.7
106
+ Enabled: true
107
+ Lint/AmbiguousAssignment: # new in 1.7
108
+ Enabled: true
109
+ Lint/AmbiguousOperatorPrecedence: # new in 1.21
110
+ Enabled: true
111
+ Lint/AmbiguousRange: # new in 1.19
112
+ Enabled: true
113
+ Lint/ConstantOverwrittenInRescue: # new in 1.31
114
+ Enabled: true
115
+ Lint/DeprecatedConstants: # new in 1.8
116
+ Enabled: true
117
+ Lint/DuplicateBranch: # new in 1.3
118
+ Enabled: true
119
+ Lint/DuplicateMagicComment: # new in 1.37
120
+ Enabled: true
121
+ Lint/DuplicateMatchPattern: # new in 1.50
122
+ Enabled: true
123
+ Lint/DuplicateRegexpCharacterClassElement: # new in 1.1
124
+ Enabled: true
125
+ Lint/EmptyBlock: # new in 1.1
126
+ Enabled: true
127
+ Lint/EmptyClass: # new in 1.3
128
+ Enabled: true
129
+ Lint/EmptyInPattern: # new in 1.16
130
+ Enabled: true
131
+ Lint/IncompatibleIoSelectWithFiberScheduler: # new in 1.21
132
+ Enabled: true
133
+ Lint/ItWithoutArgumentsInBlock: # new in 1.59
134
+ Enabled: true
135
+ Lint/LambdaWithoutLiteralBlock: # new in 1.8
136
+ Enabled: true
137
+ Lint/LiteralAssignmentInCondition: # new in 1.58
138
+ Enabled: true
139
+ Lint/MixedCaseRange: # new in 1.53
140
+ Enabled: true
141
+ Lint/NoReturnInBeginEndBlocks: # new in 1.2
142
+ Enabled: true
143
+ Lint/NonAtomicFileOperation: # new in 1.31
144
+ Enabled: true
145
+ Lint/NumberedParameterAssignment: # new in 1.9
146
+ Enabled: true
147
+ Lint/OrAssignmentToConstant: # new in 1.9
148
+ Enabled: true
149
+ Lint/RedundantDirGlobSort: # new in 1.8
150
+ Enabled: true
151
+ Lint/RedundantRegexpQuantifiers: # new in 1.53
152
+ Enabled: true
153
+ Lint/RefinementImportMethods: # new in 1.27
154
+ Enabled: true
155
+ Lint/RequireRangeParentheses: # new in 1.32
156
+ Enabled: true
157
+ Lint/RequireRelativeSelfPath: # new in 1.22
158
+ Enabled: true
159
+ Lint/SymbolConversion: # new in 1.9
160
+ Enabled: true
161
+ Lint/ToEnumArguments: # new in 1.1
162
+ Enabled: true
163
+ Lint/TripleQuotes: # new in 1.9
164
+ Enabled: true
165
+ Lint/UnexpectedBlockArity: # new in 1.5
166
+ Enabled: true
167
+ Lint/UnmodifiedReduceAccumulator: # new in 1.1
168
+ Enabled: true
169
+ Lint/UselessRescue: # new in 1.43
170
+ Enabled: true
171
+ Lint/UselessRuby2Keywords: # new in 1.23
172
+ Enabled: true
173
+ Metrics/CollectionLiteralLength: # new in 1.47
174
+ Enabled: true
175
+ Naming/BlockForwarding: # new in 1.24
176
+ Enabled: true
177
+ Security/CompoundHash: # new in 1.28
178
+ Enabled: true
179
+ Security/IoMethods: # new in 1.22
180
+ Enabled: true
181
+ Style/ArgumentsForwarding: # new in 1.1
182
+ Enabled: true
183
+ Style/ArrayIntersect: # new in 1.40
184
+ Enabled: true
185
+ Style/CollectionCompact: # new in 1.2
186
+ Enabled: true
187
+ Style/ComparableClamp: # new in 1.44
188
+ Enabled: true
189
+ Style/ConcatArrayLiterals: # new in 1.41
190
+ Enabled: true
191
+ Style/DataInheritance: # new in 1.49
192
+ Enabled: true
193
+ Style/DirEmpty: # new in 1.48
194
+ Enabled: true
195
+ Style/DocumentDynamicEvalDefinition: # new in 1.1
196
+ Enabled: true
197
+ Style/EmptyHeredoc: # new in 1.32
198
+ Enabled: true
199
+ Style/EndlessMethod: # new in 1.8
200
+ Enabled: true
201
+ Style/EnvHome: # new in 1.29
202
+ Enabled: true
203
+ Style/ExactRegexpMatch: # new in 1.51
204
+ Enabled: true
205
+ Style/FetchEnvVar: # new in 1.28
206
+ Enabled: true
207
+ Style/FileEmpty: # new in 1.48
208
+ Enabled: true
209
+ Style/FileRead: # new in 1.24
210
+ Enabled: true
211
+ Style/FileWrite: # new in 1.24
212
+ Enabled: true
213
+ Style/HashConversion: # new in 1.10
214
+ Enabled: true
215
+ Style/HashExcept: # new in 1.7
216
+ Enabled: true
217
+ Style/IfWithBooleanLiteralBranches: # new in 1.9
218
+ Enabled: true
219
+ Style/InPatternThen: # new in 1.16
220
+ Enabled: true
221
+ Style/MagicCommentFormat: # new in 1.35
222
+ Enabled: true
223
+ Style/MapCompactWithConditionalBlock: # new in 1.30
224
+ Enabled: true
225
+ Style/MapToHash: # new in 1.24
226
+ Enabled: true
227
+ Style/MapToSet: # new in 1.42
228
+ Enabled: true
229
+ Style/MinMaxComparison: # new in 1.42
230
+ Enabled: true
231
+ Style/MultilineInPatternThen: # new in 1.16
232
+ Enabled: true
233
+ Style/NegatedIfElseCondition: # new in 1.2
234
+ Enabled: true
235
+ Style/NestedFileDirname: # new in 1.26
236
+ Enabled: true
237
+ Style/NilLambda: # new in 1.3
238
+ Enabled: true
239
+ Style/NumberedParameters: # new in 1.22
240
+ Enabled: true
241
+ Style/NumberedParametersLimit: # new in 1.22
242
+ Enabled: true
243
+ Style/ObjectThen: # new in 1.28
244
+ Enabled: true
245
+ Style/OpenStructUse: # new in 1.23
246
+ Enabled: true
247
+ Style/OperatorMethodCall: # new in 1.37
248
+ Enabled: true
249
+ Style/QuotedSymbols: # new in 1.16
250
+ Enabled: true
251
+ Style/RedundantArgument: # new in 1.4
252
+ Enabled: true
253
+ Style/RedundantArrayConstructor: # new in 1.52
254
+ Enabled: true
255
+ Style/RedundantConstantBase: # new in 1.40
256
+ Enabled: true
257
+ Style/RedundantCurrentDirectoryInPath: # new in 1.53
258
+ Enabled: true
259
+ Style/RedundantDoubleSplatHashBraces: # new in 1.41
260
+ Enabled: true
261
+ Style/RedundantEach: # new in 1.38
262
+ Enabled: true
263
+ Style/RedundantFilterChain: # new in 1.52
264
+ Enabled: true
265
+ Style/RedundantHeredocDelimiterQuotes: # new in 1.45
266
+ Enabled: true
267
+ Style/RedundantInitialize: # new in 1.27
268
+ Enabled: true
269
+ Style/RedundantLineContinuation: # new in 1.49
270
+ Enabled: true
271
+ Style/RedundantRegexpArgument: # new in 1.53
272
+ Enabled: true
273
+ Style/RedundantRegexpConstructor: # new in 1.52
274
+ Enabled: true
275
+ Style/RedundantSelfAssignmentBranch: # new in 1.19
276
+ Enabled: true
277
+ Style/RedundantStringEscape: # new in 1.37
278
+ Enabled: true
279
+ Style/ReturnNilInPredicateMethodDefinition: # new in 1.53
280
+ Enabled: true
281
+ Style/SelectByRegexp: # new in 1.22
282
+ Enabled: true
283
+ Style/SingleLineDoEndBlock: # new in 1.57
284
+ Enabled: true
285
+ Style/StringChars: # new in 1.12
286
+ Enabled: true
287
+ Style/SuperWithArgsParentheses: # new in 1.58
288
+ Enabled: true
289
+ Style/SwapValues: # new in 1.1
290
+ Enabled: true
291
+ Style/YAMLFileRead: # new in 1.53
292
+ Enabled: true
293
+ Performance/AncestorsInclude: # new in 1.7
294
+ Enabled: true
295
+ Performance/BigDecimalWithNumericArgument: # new in 1.7
296
+ Enabled: true
297
+ Performance/BlockGivenWithExplicitBlock: # new in 1.9
298
+ Enabled: true
299
+ Performance/CollectionLiteralInLoop: # new in 1.8
300
+ Enabled: true
301
+ Performance/ConcurrentMonotonicTime: # new in 1.12
302
+ Enabled: true
303
+ Performance/ConstantRegexp: # new in 1.9
304
+ Enabled: true
305
+ Performance/MapCompact: # new in 1.11
306
+ Enabled: true
307
+ Performance/MapMethodChain: # new in 1.19
308
+ Enabled: true
309
+ Performance/MethodObjectAsBlock: # new in 1.9
310
+ Enabled: true
311
+ Performance/RedundantEqualityComparisonBlock: # new in 1.10
312
+ Enabled: true
313
+ Performance/RedundantSortBlock: # new in 1.7
314
+ Enabled: true
315
+ Performance/RedundantSplitRegexpArgument: # new in 1.10
316
+ Enabled: true
317
+ Performance/RedundantStringChars: # new in 1.7
318
+ Enabled: true
319
+ Performance/ReverseFirst: # new in 1.7
320
+ Enabled: true
321
+ Performance/SortReverse: # new in 1.7
322
+ Enabled: true
323
+ Performance/Squeeze: # new in 1.7
324
+ Enabled: true
325
+ Performance/StringIdentifierArgument: # new in 1.13
326
+ Enabled: true
327
+ Performance/StringInclude: # new in 1.7
328
+ Enabled: true
329
+ Performance/Sum: # new in 1.8
330
+ Enabled: true
331
+ Capybara/ClickLinkOrButtonStyle: # new in 2.19
332
+ Enabled: true
333
+ Capybara/RedundantWithinFind: # new in 2.20
334
+ Enabled: true
335
+ Capybara/RSpec/HaveSelector: # new in 2.19
336
+ Enabled: true
337
+ Capybara/RSpec/PredicateMatcher: # new in 2.19
338
+ Enabled: true
339
+ FactoryBot/IdSequence: # new in <<next>>
340
+ Enabled: true
341
+ RSpec/EmptyMetadata: # new in 2.24
342
+ Enabled: true
343
+ RSpec/Eq: # new in 2.24
344
+ Enabled: true
345
+ RSpec/MetadataStyle: # new in 2.24
346
+ Enabled: true
347
+ RSpec/ReceiveMessages: # new in 2.23
348
+ Enabled: true
349
+ RSpec/SpecFilePathFormat: # new in 2.24
350
+ Enabled: true
351
+ RSpec/SpecFilePathSuffix: # new in 2.24
352
+ Enabled: true
353
+ RSpecRails/NegationBeValid: # new in 2.23
354
+ Enabled: true
data/Gemfile CHANGED
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- source "https://rubygems.org"
3
+ source 'https://rubygems.org'
4
4
 
5
5
  # Specify your gem's dependencies in mais_orcid_client.gemspec
6
6
  gemspec
7
7
 
8
- gem "byebug"
8
+ gem 'byebug'
data/Gemfile.lock CHANGED
@@ -1,46 +1,68 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mais_orcid_client (0.3.1)
5
- activesupport (>= 4.2, < 8)
4
+ mais_orcid_client (1.0.0)
5
+ activesupport (>= 4.2)
6
6
  faraday
7
7
  faraday-retry
8
8
  oauth2
9
+ ostruct
9
10
  zeitwerk
10
11
 
11
12
  GEM
12
13
  remote: https://rubygems.org/
13
14
  specs:
14
- activesupport (7.0.7)
15
- concurrent-ruby (~> 1.0, >= 1.0.2)
15
+ activesupport (8.0.2)
16
+ base64
17
+ benchmark (>= 0.3)
18
+ bigdecimal
19
+ concurrent-ruby (~> 1.0, >= 1.3.1)
20
+ connection_pool (>= 2.2.5)
21
+ drb
16
22
  i18n (>= 1.6, < 2)
23
+ logger (>= 1.4.2)
17
24
  minitest (>= 5.1)
18
- tzinfo (~> 2.0)
19
- addressable (2.8.5)
20
- public_suffix (>= 2.0.2, < 6.0)
21
- ast (2.4.2)
25
+ securerandom (>= 0.3)
26
+ tzinfo (~> 2.0, >= 2.0.5)
27
+ uri (>= 0.13.1)
28
+ addressable (2.8.7)
29
+ public_suffix (>= 2.0.2, < 7.0)
30
+ ast (2.4.3)
31
+ base64 (0.2.0)
32
+ benchmark (0.4.0)
33
+ bigdecimal (3.1.9)
22
34
  byebug (11.1.3)
23
- concurrent-ruby (1.2.2)
24
- crack (0.4.5)
35
+ concurrent-ruby (1.3.5)
36
+ connection_pool (2.5.0)
37
+ crack (1.0.0)
38
+ bigdecimal
25
39
  rexml
26
- diff-lcs (1.5.0)
27
- docile (1.4.0)
28
- faraday (2.7.10)
29
- faraday-net_http (>= 2.0, < 3.1)
30
- ruby2_keywords (>= 0.0.4)
31
- faraday-net_http (3.0.2)
32
- faraday-retry (2.2.0)
40
+ diff-lcs (1.6.0)
41
+ docile (1.4.1)
42
+ drb (2.2.1)
43
+ faraday (2.12.2)
44
+ faraday-net_http (>= 2.0, < 3.5)
45
+ json
46
+ logger
47
+ faraday-net_http (3.4.0)
48
+ net-http (>= 0.5.0)
49
+ faraday-retry (2.2.1)
33
50
  faraday (~> 2.0)
34
- hashdiff (1.0.1)
51
+ hashdiff (1.1.2)
35
52
  hashie (5.0.0)
36
- i18n (1.14.1)
53
+ i18n (1.14.7)
37
54
  concurrent-ruby (~> 1.0)
38
- json (2.6.3)
39
- jwt (2.7.1)
40
- language_server-protocol (3.17.0.3)
55
+ json (2.10.2)
56
+ jwt (2.10.1)
57
+ base64
58
+ language_server-protocol (3.17.0.4)
41
59
  lint_roller (1.1.0)
42
- minitest (5.19.0)
43
- multi_xml (0.6.0)
60
+ logger (1.6.6)
61
+ minitest (5.25.5)
62
+ multi_xml (0.7.1)
63
+ bigdecimal (~> 3.1)
64
+ net-http (0.6.0)
65
+ uri
44
66
  oauth2 (2.0.9)
45
67
  faraday (>= 0.17.3, < 3.0)
46
68
  jwt (>= 1.0, < 3.0)
@@ -48,88 +70,89 @@ GEM
48
70
  rack (>= 1.2, < 4)
49
71
  snaky_hash (~> 2.0)
50
72
  version_gem (~> 1.1)
51
- parallel (1.23.0)
52
- parser (3.2.2.3)
73
+ ostruct (0.6.1)
74
+ parallel (1.26.3)
75
+ parser (3.3.7.2)
53
76
  ast (~> 2.4.1)
54
77
  racc
55
- public_suffix (5.0.3)
56
- racc (1.7.1)
57
- rack (3.0.8)
78
+ public_suffix (6.0.1)
79
+ racc (1.8.1)
80
+ rack (3.1.12)
58
81
  rainbow (3.1.1)
59
- rake (13.0.6)
60
- regexp_parser (2.8.1)
61
- rexml (3.2.6)
62
- rspec (3.12.0)
63
- rspec-core (~> 3.12.0)
64
- rspec-expectations (~> 3.12.0)
65
- rspec-mocks (~> 3.12.0)
66
- rspec-core (3.12.2)
67
- rspec-support (~> 3.12.0)
68
- rspec-expectations (3.12.3)
82
+ rake (13.2.1)
83
+ regexp_parser (2.10.0)
84
+ rexml (3.4.1)
85
+ rspec (3.13.0)
86
+ rspec-core (~> 3.13.0)
87
+ rspec-expectations (~> 3.13.0)
88
+ rspec-mocks (~> 3.13.0)
89
+ rspec-core (3.13.3)
90
+ rspec-support (~> 3.13.0)
91
+ rspec-expectations (3.13.3)
69
92
  diff-lcs (>= 1.2.0, < 2.0)
70
- rspec-support (~> 3.12.0)
71
- rspec-mocks (3.12.6)
93
+ rspec-support (~> 3.13.0)
94
+ rspec-mocks (3.13.2)
72
95
  diff-lcs (>= 1.2.0, < 2.0)
73
- rspec-support (~> 3.12.0)
74
- rspec-support (3.12.1)
75
- rubocop (1.52.1)
96
+ rspec-support (~> 3.13.0)
97
+ rspec-support (3.13.2)
98
+ rubocop (1.74.0)
76
99
  json (~> 2.3)
100
+ language_server-protocol (~> 3.17.0.2)
101
+ lint_roller (~> 1.1.0)
77
102
  parallel (~> 1.10)
78
- parser (>= 3.2.2.3)
103
+ parser (>= 3.3.0.2)
79
104
  rainbow (>= 2.2.2, < 4.0)
80
- regexp_parser (>= 1.8, < 3.0)
81
- rexml (>= 3.2.5, < 4.0)
82
- rubocop-ast (>= 1.28.0, < 2.0)
105
+ regexp_parser (>= 2.9.3, < 3.0)
106
+ rubocop-ast (>= 1.38.0, < 2.0)
83
107
  ruby-progressbar (~> 1.7)
84
- unicode-display_width (>= 2.4.0, < 3.0)
85
- rubocop-ast (1.29.0)
86
- parser (>= 3.2.1.0)
87
- rubocop-capybara (2.18.0)
88
- rubocop (~> 1.41)
89
- rubocop-factory_bot (2.23.1)
90
- rubocop (~> 1.33)
91
- rubocop-performance (1.18.0)
92
- rubocop (>= 1.7.0, < 2.0)
93
- rubocop-ast (>= 0.4.0)
94
- rubocop-rspec (2.23.2)
95
- rubocop (~> 1.33)
96
- rubocop-capybara (~> 2.17)
97
- rubocop-factory_bot (~> 2.22)
108
+ unicode-display_width (>= 2.4.0, < 4.0)
109
+ rubocop-ast (1.41.0)
110
+ parser (>= 3.3.7.2)
111
+ rubocop-capybara (2.22.1)
112
+ lint_roller (~> 1.1)
113
+ rubocop (~> 1.72, >= 1.72.1)
114
+ rubocop-factory_bot (2.27.1)
115
+ lint_roller (~> 1.1)
116
+ rubocop (~> 1.72, >= 1.72.1)
117
+ rubocop-performance (1.24.0)
118
+ lint_roller (~> 1.1)
119
+ rubocop (>= 1.72.1, < 2.0)
120
+ rubocop-ast (>= 1.38.0, < 2.0)
121
+ rubocop-rspec (3.5.0)
122
+ lint_roller (~> 1.1)
123
+ rubocop (~> 1.72, >= 1.72.1)
124
+ rubocop-rspec_rails (2.31.0)
125
+ lint_roller (~> 1.1)
126
+ rubocop (~> 1.72, >= 1.72.1)
127
+ rubocop-rspec (~> 3.5)
98
128
  ruby-progressbar (1.13.0)
99
- ruby2_keywords (0.0.5)
129
+ securerandom (0.4.1)
100
130
  simplecov (0.22.0)
101
131
  docile (~> 1.1)
102
132
  simplecov-html (~> 0.11)
103
133
  simplecov_json_formatter (~> 0.1)
104
- simplecov-html (0.12.3)
134
+ simplecov-html (0.13.1)
105
135
  simplecov_json_formatter (0.1.4)
106
136
  snaky_hash (2.0.1)
107
137
  hashie
108
138
  version_gem (~> 1.1, >= 1.1.1)
109
- standard (1.30.1)
110
- language_server-protocol (~> 3.17.0.2)
111
- lint_roller (~> 1.0)
112
- rubocop (~> 1.52.0)
113
- standard-custom (~> 1.0.0)
114
- standard-performance (~> 1.1.0)
115
- standard-custom (1.0.2)
116
- lint_roller (~> 1.0)
117
- rubocop (~> 1.50)
118
- standard-performance (1.1.2)
119
- lint_roller (~> 1.1)
120
- rubocop-performance (~> 1.18.0)
121
139
  tzinfo (2.0.6)
122
140
  concurrent-ruby (~> 1.0)
123
- unicode-display_width (2.4.2)
124
- vcr (6.2.0)
125
- version_gem (1.1.3)
126
- webmock (3.18.1)
141
+ unicode-display_width (3.1.4)
142
+ unicode-emoji (~> 4.0, >= 4.0.4)
143
+ unicode-emoji (4.0.4)
144
+ uri (1.0.3)
145
+ vcr (6.3.1)
146
+ base64
147
+ version_gem (1.1.6)
148
+ webmock (3.25.1)
127
149
  addressable (>= 2.8.0)
128
150
  crack (>= 0.3.2)
129
151
  hashdiff (>= 0.4.0, < 2.0.0)
130
- zeitwerk (2.6.11)
152
+ zeitwerk (2.7.2)
131
153
 
132
154
  PLATFORMS
155
+ arm64-darwin-23
133
156
  x86_64-darwin-19
134
157
  x86_64-darwin-20
135
158
  x86_64-darwin-21
@@ -141,11 +164,15 @@ DEPENDENCIES
141
164
  mais_orcid_client!
142
165
  rake (~> 13.0)
143
166
  rspec (~> 3.0)
167
+ rubocop
168
+ rubocop-capybara
169
+ rubocop-factory_bot
170
+ rubocop-performance
144
171
  rubocop-rspec
172
+ rubocop-rspec_rails
145
173
  simplecov
146
- standard
147
174
  vcr
148
175
  webmock
149
176
 
150
177
  BUNDLED WITH
151
- 2.4.13
178
+ 2.6.6
data/README.md CHANGED
@@ -1,7 +1,6 @@
1
1
  [![Gem Version](https://badge.fury.io/rb/mais_orcid_client.svg)](https://badge.fury.io/rb/mais_orcid_client)
2
2
  [![CircleCI](https://circleci.com/gh/sul-dlss/mais_orcid_client.svg?style=svg)](https://circleci.com/gh/sul-dlss/mais_orcid_client)
3
- [![Maintainability](https://api.codeclimate.com/v1/badges/25b4a4111f831121dda5/maintainability)](https://codeclimate.com/github/sul-dlss/mais_orcid_client/maintainability)
4
- [![Test Coverage](https://api.codeclimate.com/v1/badges/25b4a4111f831121dda5/test_coverage)](https://codeclimate.com/github/sul-dlss/mais_orcid_client/test_coverage)
3
+ [![codecov](https://codecov.io/github/sul-dlss/mais_orcid_client/graph/badge.svg?token=A6B03FJ981)](https://codecov.io/github/sul-dlss/mais_orcid_client)
5
4
 
6
5
  # mais_orcid_client
7
6
  API client for accessing MAIS's ORCID endpoints.
@@ -26,12 +25,17 @@ For one-off requests:
26
25
  require "mais_orcid_client"
27
26
 
28
27
  # NOTE: The settings below live in the consumer, not in the gem.
28
+ # The user_agent string can be changed by consumers as requested by MaIS for tracking
29
29
  client = MaisOrcidClient.configure(
30
30
  client_id: Settings.mais_orcid.client_id,
31
31
  client_secret: Settings.mais_orcid.client_secret,
32
- base_url: Settings.mais_orcid.base_url
32
+ base_url: Settings.mais_orcid.base_url,
33
+ token_url: Settings.mais_orcid.token_url,
34
+ user_agent: 'some-user-agent-string-to-send-in-requests' # defaults to 'stanford-library-sul-pub'
33
35
  )
34
- client.fetch_orcid_user(sunetid: 'nataliex')
36
+ client.fetch_orcid_user(sunetid: 'nataliex') # get a single user by sunet
37
+ client.fetch_orcid_user(orcid: '0000-1111-2222-3333-4444') # get a single user by orcidid
38
+ client.fetch_orcid_users # return all users
35
39
  ```
36
40
 
37
41
  You can also invoke methods directly on the client class, which is useful in a
@@ -44,7 +48,8 @@ to be sure configuration has already occurred, e.g.:
44
48
  MaisOrcidClient.configure(
45
49
  client_id: Settings.mais_orcid.client_id,
46
50
  client_secret: Settings.mais_orcid.client_secret,
47
- base_url: Settings.mais_orcid.base_url
51
+ base_url: Settings.mais_orcid.base_url,
52
+ token_url: Settings.mais_orcid.token_url
48
53
  )
49
54
 
50
55
  # app/services/my_mais_orcid_service.rb
@@ -73,6 +78,7 @@ To record new cassettes:
73
78
  2. Add your new spec with a new cassette name (or delete a previous cassette to re-create it).
74
79
  3. Run just that new spec (important: else previous specs may use cassettes that have redacted credentials, causing your new spec to fail).
75
80
  4. You should get a new cassette with the name you specified in the spec.
76
- 5. The cassette should have access tokens and secrets sanitized by the config in `spec_helper.rb`, but you can double check, EXCEPT for user access tokens in the user response. These should be sanitized manaully (e.g. "access_token":"8d13b8bb-XXXX-YYYY-b7d6-87aecd5a8975")
81
+ 5. The cassette should have access tokens and secrets sanitized by the config in `spec_helper.rb`, but you can double check.
77
82
  6. Set your configuration at the top of the spec back to the fake client_id and client_secret values.
83
+ 7. The spec that checks for a raised exception when fetching all users may need to be handcrafted in the cassette to look it raised a 500. It's hard to get the actual URL to produce a 500 on this call.
78
84
  7. Re-run all the specs - they should pass now without making real calls.
data/Rakefile CHANGED
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "bundler/gem_tasks"
4
- require "rspec/core/rake_task"
5
- require "rubocop/rake_task"
3
+ require 'bundler/gem_tasks'
4
+ require 'rspec/core/rake_task'
5
+ require 'rubocop/rake_task'
6
6
 
7
7
  RSpec::Core::RakeTask.new(:spec)
8
8
  RuboCop::RakeTask.new
@@ -18,8 +18,9 @@ class MaisOrcidClient
18
18
  # @return [String]
19
19
  def token
20
20
  client = OAuth2::Client.new(client_id, client_secret, site: base_url,
21
- token_url: "/api/oauth/token", authorize_url: "/api/oauth/authorize",
22
- auth_scheme: :request_body)
21
+ token_url: '/oauth2/token',
22
+ authorize_url: '/oauth2/authorize',
23
+ auth_scheme: :request_body)
23
24
  client.client_credentials.get_token.token
24
25
  end
25
26
  end
@@ -6,7 +6,7 @@ class MaisOrcidClient
6
6
  def self.refresh(config)
7
7
  yield
8
8
  rescue UnexpectedResponse::UnauthorizedError
9
- config.token = Authenticator.token(config.client_id, config.client_secret, config.base_url)
9
+ config.token = Authenticator.token(config.client_id, config.client_secret, config.token_url)
10
10
  yield
11
11
  end
12
12
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class MaisOrcidClient
4
- VERSION = "0.3.1"
4
+ VERSION = '1.0.0'
5
5
  end
@@ -1,13 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "active_support/core_ext/module/delegation"
4
- require "active_support/core_ext/hash/indifferent_access"
3
+ require 'active_support/core_ext/module/delegation'
4
+ require 'active_support/core_ext/hash/indifferent_access'
5
5
 
6
- require "faraday"
7
- require "faraday/retry"
8
- require "oauth2"
9
- require "singleton"
10
- require "zeitwerk"
6
+ require 'faraday'
7
+ require 'faraday/retry'
8
+ require 'oauth2'
9
+ require 'ostruct'
10
+ require 'singleton'
11
+ require 'zeitwerk'
11
12
 
12
13
  # Load the gem's internal dependencies: use Zeitwerk instead of needing to manually require classes
13
14
  Zeitwerk::Loader.for_gem.setup
@@ -19,7 +20,7 @@ class MaisOrcidClient
19
20
  # Struct for ORCID-relating data returned from API.
20
21
  OrcidUser = Struct.new(:sunetid, :orcidid, :scope, :access_token, :last_updated) do
21
22
  def update?
22
- scope.include?("/activities/update")
23
+ scope.include?('/activities/update')
23
24
  end
24
25
  end
25
26
 
@@ -27,13 +28,18 @@ class MaisOrcidClient
27
28
  # @param client_id [String] the client identifier registered with MAIS
28
29
  # @param client_secret [String] the client secret to authenticate with MAIS
29
30
  # @param base_url [String] the base URL for the API
30
- def configure(client_id:, client_secret:, base_url:)
31
+ # @param token_url [String] the base token URL for authentication (getting token)
32
+ # @param user_agent [String] the user agent to use for requests (default: 'stanford-library-sul-pub')
33
+ def configure(client_id:, client_secret:, base_url:, token_url:, user_agent: 'stanford-library-sul-pub')
34
+ # rubocop:disable Style/OpenStructUse
31
35
  instance.config = OpenStruct.new(
32
- token: Authenticator.token(client_id, client_secret, base_url),
36
+ token: Authenticator.token(client_id, client_secret, token_url),
33
37
  client_id:,
34
38
  client_secret:,
35
- base_url:
39
+ base_url:,
40
+ user_agent:
36
41
  )
42
+ # rubocop:enable Style/OpenStructUse
37
43
 
38
44
  self
39
45
  end
@@ -46,13 +52,16 @@ class MaisOrcidClient
46
52
  # @param [int] limit number of users requested
47
53
  # @param [int] page_size number of users per page
48
54
  # @return [Array<OrcidUser>] orcid users
55
+ # rubocop:disable Metrics/MethodLength
56
+ # rubocop:disable Metrics/AbcSize
49
57
  def fetch_orcid_users(limit: nil, page_size: nil)
50
58
  orcid_users = []
51
59
  next_page = first_page(page_size)
52
60
  loop do
53
61
  response = get_response(next_page)
54
62
  response[:results].each do |result|
55
- orcid_users << OrcidUser.new(result[:sunet_id], result[:orcid_id], result[:scope], result[:access_token], result[:last_updated])
63
+ orcid_users << OrcidUser.new(result[:sunet_id], result[:orcid_id], result[:scope], result[:access_token],
64
+ result[:last_updated])
56
65
  return orcid_users if limit && limit == orcid_users.size
57
66
  end
58
67
  # Currently next is always present, even on last page. (This may be changed in future.)
@@ -60,13 +69,15 @@ class MaisOrcidClient
60
69
  return orcid_users if last_page?(response[:links])
61
70
  end
62
71
  end
72
+ # rubocop:enable Metrics/MethodLength
73
+ # rubocop:enable Metrics/AbcSize
63
74
 
64
75
  # Fetch a user details, including scope and token, given either a SUNetID or ORCIDID
65
76
  # @param [string] sunetid of user to fetch
66
77
  # @param [orcid] orcidid of user to fetch (ignored if sunetid is also provided)
67
78
  # @return [<OrcidUser>, nil] orcid user or nil if not found
68
79
  def fetch_orcid_user(sunetid: nil, orcidid: nil)
69
- raise "must provide either a sunetid or orcidid" unless sunetid || orcidid
80
+ raise 'must provide either a sunetid or orcidid' unless sunetid || orcidid
70
81
 
71
82
  sunetid ? fetch_by_sunetid(sunetid) : fetch_by_orcidid(orcidid)
72
83
  end
@@ -98,7 +109,7 @@ class MaisOrcidClient
98
109
  end
99
110
 
100
111
  def first_page(page_size = nil)
101
- path = "/users?scope=ANY"
112
+ path = '/users?scope=ANY'
102
113
  path += "&page_size=#{page_size}" if page_size
103
114
  path
104
115
  end
@@ -107,37 +118,45 @@ class MaisOrcidClient
107
118
  links[:self] == links[:last]
108
119
  end
109
120
 
121
+ # rubocop:disable Metrics/MethodLength
110
122
  def get_response(path, allow404: false)
111
123
  TokenWrapper.refresh(config) do
112
- response = conn.get("/mais/orcid/v1#{path}")
124
+ response = conn.get("/orcid/v1#{path}")
113
125
 
114
126
  return if allow404 && response.status == 404
115
127
 
116
128
  return UnexpectedResponse.call(response) unless response.success?
117
129
 
118
130
  body = JSON.parse(response.body).with_indifferent_access
119
- raise UnexpectedResponse::ResponseError, "UIT MAIS ORCID User API returned an error: #{response.body}" if body.key?(:error)
131
+ if body.key?(:error)
132
+ raise UnexpectedResponse::ResponseError,
133
+ "UIT MAIS ORCID User API returned an error: #{response.body}"
134
+ end
120
135
 
121
136
  body
122
137
  end
123
138
  end
124
139
 
140
+ # rubocop:disable Metrics/AbcSize
125
141
  def conn
126
142
  conn = Faraday.new(url: config.base_url) do |faraday|
127
143
  faraday.request :retry, max: 3,
128
- interval: 0.5,
129
- interval_randomness: 0.5,
130
- backoff_factor: 2
144
+ interval: 0.5,
145
+ interval_randomness: 0.5,
146
+ backoff_factor: 2
131
147
  end
132
148
  conn.options.timeout = 500
133
149
  conn.options.open_timeout = 10
134
- conn.headers[:user_agent] = "stanford-library-sul-pub"
150
+ conn.headers[:user_agent] = config.user_agent
135
151
  conn.headers[:authorization] = "Bearer #{config.token}"
136
152
  conn
137
153
  end
154
+ # rubocop:enable Metrics/AbcSize
155
+ # rubocop:enable Metrics/MethodLength
138
156
 
139
157
  # @param [string] orcidid which can include a full URI, e.g. "https://sandbox.orcid.org/0000-0002-7262-6251"
140
- # @return [string] orcidid without URI (if valid), e.g. "0000-0002-7262-6251" or empty string if none found or orcidid invalid
158
+ # @return [string] orcidid without URI (if valid), e.g. "0000-0002-7262-6251" or empty string if none found
159
+ # or orcidid invalid
141
160
  def orcidid_without_uri(orcidid)
142
161
  orcidid.match(/\d{4}-\d{4}-\d{4}-\d{3}(\d|X){1}\z/).to_s
143
162
  end
@@ -1,24 +1,24 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- lib = File.expand_path("lib", __dir__)
3
+ lib = File.expand_path('lib', __dir__)
4
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
- require "mais_orcid_client/version"
5
+ require 'mais_orcid_client/version'
6
6
 
7
7
  Gem::Specification.new do |spec|
8
- spec.name = "mais_orcid_client"
8
+ spec.name = 'mais_orcid_client'
9
9
  spec.version = MaisOrcidClient::VERSION
10
- spec.authors = ["Peter Mangiafico", "Justin Littman"]
11
- spec.email = ["pmangiafico@stanford.edu", "jlittman@stanford.edu"]
10
+ spec.authors = ['Peter Mangiafico', 'Justin Littman']
11
+ spec.email = ['pmangiafico@stanford.edu', 'jlittman@stanford.edu']
12
12
 
13
13
  spec.summary = "Interface for interacting with the MAIS's ORCID API."
14
14
  spec.description = "This provides API interaction with the MAIS's ORCID API"
15
- spec.homepage = "https://github.com/sul-dlss/mais_orcid_client"
16
- spec.required_ruby_version = ">= 3.2.0"
15
+ spec.homepage = 'https://github.com/sul-dlss/mais_orcid_client'
16
+ spec.required_ruby_version = '>= 3.2.0'
17
17
 
18
- spec.metadata["homepage_uri"] = spec.homepage
19
- spec.metadata["source_code_uri"] = "https://github.com/sul-dlss/mais_orcid_client"
20
- spec.metadata["changelog_uri"] = "https://github.com/sul-dlss/mais_orcid_client/releases"
21
- spec.metadata["rubygems_mfa_required"] = "true"
18
+ spec.metadata['homepage_uri'] = spec.homepage
19
+ spec.metadata['source_code_uri'] = 'https://github.com/sul-dlss/mais_orcid_client'
20
+ spec.metadata['changelog_uri'] = 'https://github.com/sul-dlss/mais_orcid_client/releases'
21
+ spec.metadata['rubygems_mfa_required'] = 'true'
22
22
 
23
23
  # Specify which files should be added to the gem when it is released.
24
24
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
@@ -27,22 +27,27 @@ Gem::Specification.new do |spec|
27
27
  (f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
28
28
  end
29
29
  end
30
- spec.bindir = "exe"
30
+ spec.bindir = 'exe'
31
31
  spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
32
- spec.require_paths = ["lib"]
32
+ spec.require_paths = ['lib']
33
33
 
34
- spec.add_dependency "activesupport", ">= 4.2", "< 8"
35
- spec.add_dependency "faraday"
36
- spec.add_dependency "faraday-retry"
37
- spec.add_dependency "oauth2"
38
- spec.add_dependency "zeitwerk"
34
+ spec.add_dependency 'activesupport', '>= 4.2'
35
+ spec.add_dependency 'faraday'
36
+ spec.add_dependency 'faraday-retry'
37
+ spec.add_dependency 'oauth2'
38
+ spec.add_dependency 'ostruct'
39
+ spec.add_dependency 'zeitwerk'
39
40
 
40
- spec.add_development_dependency "rake", "~> 13.0"
41
- spec.add_development_dependency "rspec", "~> 3.0"
42
- spec.add_development_dependency "standard"
43
- spec.add_development_dependency "rubocop-rspec"
44
- spec.add_development_dependency "simplecov"
45
- spec.add_development_dependency "webmock"
46
- spec.add_development_dependency "vcr"
47
- spec.add_development_dependency "byebug"
41
+ spec.add_development_dependency 'byebug'
42
+ spec.add_development_dependency 'rake', '~> 13.0'
43
+ spec.add_development_dependency 'rspec', '~> 3.0'
44
+ spec.add_development_dependency 'rubocop'
45
+ spec.add_development_dependency 'rubocop-capybara'
46
+ spec.add_development_dependency 'rubocop-factory_bot'
47
+ spec.add_development_dependency 'rubocop-performance'
48
+ spec.add_development_dependency 'rubocop-rspec'
49
+ spec.add_development_dependency 'rubocop-rspec_rails'
50
+ spec.add_development_dependency 'simplecov'
51
+ spec.add_development_dependency 'vcr'
52
+ spec.add_development_dependency 'webmock'
48
53
  end
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mais_orcid_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Mangiafico
8
8
  - Justin Littman
9
- autorequire:
10
9
  bindir: exe
11
10
  cert_chain: []
12
- date: 2023-08-17 00:00:00.000000000 Z
11
+ date: 2025-03-28 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: activesupport
@@ -18,9 +17,6 @@ dependencies:
18
17
  - - ">="
19
18
  - !ruby/object:Gem::Version
20
19
  version: '4.2'
21
- - - "<"
22
- - !ruby/object:Gem::Version
23
- version: '8'
24
20
  type: :runtime
25
21
  prerelease: false
26
22
  version_requirements: !ruby/object:Gem::Requirement
@@ -28,9 +24,6 @@ dependencies:
28
24
  - - ">="
29
25
  - !ruby/object:Gem::Version
30
26
  version: '4.2'
31
- - - "<"
32
- - !ruby/object:Gem::Version
33
- version: '8'
34
27
  - !ruby/object:Gem::Dependency
35
28
  name: faraday
36
29
  requirement: !ruby/object:Gem::Requirement
@@ -73,6 +66,20 @@ dependencies:
73
66
  - - ">="
74
67
  - !ruby/object:Gem::Version
75
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: ostruct
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
76
83
  - !ruby/object:Gem::Dependency
77
84
  name: zeitwerk
78
85
  requirement: !ruby/object:Gem::Requirement
@@ -87,6 +94,20 @@ dependencies:
87
94
  - - ">="
88
95
  - !ruby/object:Gem::Version
89
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: byebug
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
90
111
  - !ruby/object:Gem::Dependency
91
112
  name: rake
92
113
  requirement: !ruby/object:Gem::Requirement
@@ -116,7 +137,49 @@ dependencies:
116
137
  - !ruby/object:Gem::Version
117
138
  version: '3.0'
118
139
  - !ruby/object:Gem::Dependency
119
- name: standard
140
+ name: rubocop
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: rubocop-capybara
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-factory_bot
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: rubocop-performance
120
183
  requirement: !ruby/object:Gem::Requirement
121
184
  requirements:
122
185
  - - ">="
@@ -144,7 +207,7 @@ dependencies:
144
207
  - !ruby/object:Gem::Version
145
208
  version: '0'
146
209
  - !ruby/object:Gem::Dependency
147
- name: simplecov
210
+ name: rubocop-rspec_rails
148
211
  requirement: !ruby/object:Gem::Requirement
149
212
  requirements:
150
213
  - - ">="
@@ -158,7 +221,7 @@ dependencies:
158
221
  - !ruby/object:Gem::Version
159
222
  version: '0'
160
223
  - !ruby/object:Gem::Dependency
161
- name: webmock
224
+ name: simplecov
162
225
  requirement: !ruby/object:Gem::Requirement
163
226
  requirements:
164
227
  - - ">="
@@ -186,7 +249,7 @@ dependencies:
186
249
  - !ruby/object:Gem::Version
187
250
  version: '0'
188
251
  - !ruby/object:Gem::Dependency
189
- name: byebug
252
+ name: webmock
190
253
  requirement: !ruby/object:Gem::Requirement
191
254
  requirements:
192
255
  - - ">="
@@ -209,8 +272,6 @@ extra_rdoc_files: []
209
272
  files:
210
273
  - ".rspec"
211
274
  - ".rubocop.yml"
212
- - ".rubocop/custom.yml"
213
- - ".standard.yml"
214
275
  - Gemfile
215
276
  - Gemfile.lock
216
277
  - LICENSE
@@ -229,7 +290,6 @@ metadata:
229
290
  source_code_uri: https://github.com/sul-dlss/mais_orcid_client
230
291
  changelog_uri: https://github.com/sul-dlss/mais_orcid_client/releases
231
292
  rubygems_mfa_required: 'true'
232
- post_install_message:
233
293
  rdoc_options: []
234
294
  require_paths:
235
295
  - lib
@@ -244,8 +304,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
244
304
  - !ruby/object:Gem::Version
245
305
  version: '0'
246
306
  requirements: []
247
- rubygems_version: 3.4.13
248
- signing_key:
307
+ rubygems_version: 3.6.3
249
308
  specification_version: 4
250
309
  summary: Interface for interacting with the MAIS's ORCID API.
251
310
  test_files: []
data/.rubocop/custom.yml DELETED
@@ -1,84 +0,0 @@
1
- AllCops:
2
- TargetRubyVersion: 3.1
3
- DisplayCopNames: true
4
- SuggestExtensions: false
5
- Exclude:
6
- - bin/**
7
- - vendor/bundle/**/*
8
-
9
- # Per team developer playbook
10
- RSpec/MultipleMemoizedHelpers:
11
- Enabled: false
12
-
13
- RSpec/BeEq: # new in 2.9.0
14
- Enabled: true
15
- RSpec/BeNil: # new in 2.9.0
16
- Enabled: true
17
- RSpec/ChangeByZero: # new in 2.11
18
- Enabled: true
19
- RSpec/ClassCheck: # new in 2.13
20
- Enabled: true
21
- RSpec/ExcessiveDocstringSpacing: # new in 2.5
22
- Enabled: true
23
- RSpec/IdenticalEqualityAssertion: # new in 2.4
24
- Enabled: true
25
- RSpec/NoExpectationExample: # new in 2.13
26
- Enabled: true
27
- RSpec/SortMetadata: # new in 2.14
28
- Enabled: true
29
- RSpec/SubjectDeclaration: # new in 2.5
30
- Enabled: true
31
- RSpec/VerifiedDoubleReference: # new in 2.10.0
32
- Enabled: true
33
- Capybara/NegationMatcher: # new in 2.14
34
- Enabled: true
35
- Capybara/SpecificActions: # new in 2.14
36
- Enabled: true
37
- Capybara/SpecificFinders: # new in 2.13
38
- Enabled: true
39
- Capybara/SpecificMatcher: # new in 2.12
40
- Enabled: true
41
- FactoryBot/ConsistentParenthesesStyle: # new in 2.14
42
- Enabled: true
43
- FactoryBot/SyntaxMethods: # new in 2.7
44
- Enabled: true
45
- RSpec/Rails/AvoidSetupHook: # new in 2.4
46
- Enabled: true
47
- RSpec/Rails/HaveHttpStatus: # new in 2.12
48
- Enabled: true
49
- RSpec/Rails/InferredSpecType: # new in 2.14
50
- Enabled: true
51
-
52
- RSpec/MultipleExpectations:
53
- Enabled: false
54
-
55
- Capybara/MatchStyle: # new in 2.17
56
- Enabled: true
57
- FactoryBot/AssociationStyle: # new in 2.23
58
- Enabled: true
59
- FactoryBot/FactoryAssociationWithStrategy: # new in 2.23
60
- Enabled: true
61
- FactoryBot/FactoryNameStyle: # new in 2.16
62
- Enabled: true
63
- FactoryBot/RedundantFactoryOption: # new in 2.23
64
- Enabled: true
65
- RSpec/BeEmpty: # new in 2.20
66
- Enabled: true
67
- RSpec/ContainExactly: # new in 2.19
68
- Enabled: true
69
- RSpec/DuplicatedMetadata: # new in 2.16
70
- Enabled: true
71
- RSpec/IndexedLet: # new in 2.20
72
- Enabled: true
73
- RSpec/MatchArray: # new in 2.19
74
- Enabled: true
75
- RSpec/PendingWithoutReason: # new in 2.16
76
- Enabled: true
77
- RSpec/RedundantAround: # new in 2.19
78
- Enabled: true
79
- RSpec/SkipBlockInsideExample: # new in 2.19
80
- Enabled: true
81
- RSpec/Rails/MinitestAssertions: # new in 2.17
82
- Enabled: true
83
- RSpec/Rails/TravelAround: # new in 2.19
84
- Enabled: true
data/.standard.yml DELETED
@@ -1 +0,0 @@
1
- parallel: true