mais_orcid_client 0.3.1 → 0.4.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 +4 -4
- data/.rubocop.yml +349 -13
- data/Gemfile +2 -2
- data/Gemfile.lock +98 -81
- data/README.md +1 -2
- data/Rakefile +3 -3
- data/lib/mais_orcid_client/authenticator.rb +3 -2
- data/lib/mais_orcid_client/version.rb +1 -1
- data/lib/mais_orcid_client.rb +30 -17
- data/mais_orcid_client.gemspec +30 -26
- metadata +63 -18
- data/.rubocop/custom.yml +0 -84
- data/.standard.yml +0 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ddc18f86e894ccbe78b835023154bda7b47bfea027bbac35e2639ce780691183
|
|
4
|
+
data.tar.gz: 4ca18413e81bf9ee03f731c8b799fc30095b29de13e1e91e5c662b521dc21f1d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b66a9f5531913fe22f347f53f6f872b9292c98bae7a1b0cf47f85f058b8c32df57d7226ba112ca5f7a38e9e95d1d704d9e54704cd4ae0fb2664a02f8973807ed
|
|
7
|
+
data.tar.gz: b13aaef08ca495384919ad30db4bb666611cfbbcc5a7629f0a747e3537694224b9d008370d19ddad622467475c9ced50d8f9cce3d5f703781e0dbf253b0e3bfe
|
data/.rubocop.yml
CHANGED
|
@@ -1,18 +1,354 @@
|
|
|
1
|
-
inherit_mode:
|
|
2
|
-
merge:
|
|
3
|
-
- Exclude
|
|
4
|
-
|
|
5
1
|
require:
|
|
6
|
-
-
|
|
7
|
-
-
|
|
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
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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
|
-
|
|
18
|
-
|
|
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
data/Gemfile.lock
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
mais_orcid_client (0.
|
|
5
|
-
activesupport (>= 4.2
|
|
4
|
+
mais_orcid_client (0.4.0)
|
|
5
|
+
activesupport (>= 4.2)
|
|
6
6
|
faraday
|
|
7
7
|
faraday-retry
|
|
8
8
|
oauth2
|
|
@@ -11,36 +11,56 @@ PATH
|
|
|
11
11
|
GEM
|
|
12
12
|
remote: https://rubygems.org/
|
|
13
13
|
specs:
|
|
14
|
-
activesupport (
|
|
15
|
-
|
|
14
|
+
activesupport (8.0.1)
|
|
15
|
+
base64
|
|
16
|
+
benchmark (>= 0.3)
|
|
17
|
+
bigdecimal
|
|
18
|
+
concurrent-ruby (~> 1.0, >= 1.3.1)
|
|
19
|
+
connection_pool (>= 2.2.5)
|
|
20
|
+
drb
|
|
16
21
|
i18n (>= 1.6, < 2)
|
|
22
|
+
logger (>= 1.4.2)
|
|
17
23
|
minitest (>= 5.1)
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
24
|
+
securerandom (>= 0.3)
|
|
25
|
+
tzinfo (~> 2.0, >= 2.0.5)
|
|
26
|
+
uri (>= 0.13.1)
|
|
27
|
+
addressable (2.8.7)
|
|
28
|
+
public_suffix (>= 2.0.2, < 7.0)
|
|
21
29
|
ast (2.4.2)
|
|
30
|
+
base64 (0.2.0)
|
|
31
|
+
benchmark (0.4.0)
|
|
32
|
+
bigdecimal (3.1.9)
|
|
22
33
|
byebug (11.1.3)
|
|
23
|
-
concurrent-ruby (1.
|
|
24
|
-
|
|
34
|
+
concurrent-ruby (1.3.5)
|
|
35
|
+
connection_pool (2.5.0)
|
|
36
|
+
crack (1.0.0)
|
|
37
|
+
bigdecimal
|
|
25
38
|
rexml
|
|
26
|
-
diff-lcs (1.5.
|
|
27
|
-
docile (1.4.
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
39
|
+
diff-lcs (1.5.1)
|
|
40
|
+
docile (1.4.1)
|
|
41
|
+
drb (2.2.1)
|
|
42
|
+
faraday (2.12.2)
|
|
43
|
+
faraday-net_http (>= 2.0, < 3.5)
|
|
44
|
+
json
|
|
45
|
+
logger
|
|
46
|
+
faraday-net_http (3.4.0)
|
|
47
|
+
net-http (>= 0.5.0)
|
|
48
|
+
faraday-retry (2.2.1)
|
|
33
49
|
faraday (~> 2.0)
|
|
34
|
-
hashdiff (1.
|
|
50
|
+
hashdiff (1.1.2)
|
|
35
51
|
hashie (5.0.0)
|
|
36
|
-
i18n (1.14.
|
|
52
|
+
i18n (1.14.7)
|
|
37
53
|
concurrent-ruby (~> 1.0)
|
|
38
|
-
json (2.
|
|
39
|
-
jwt (2.
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
54
|
+
json (2.9.1)
|
|
55
|
+
jwt (2.10.1)
|
|
56
|
+
base64
|
|
57
|
+
language_server-protocol (3.17.0.4)
|
|
58
|
+
logger (1.6.6)
|
|
59
|
+
minitest (5.25.4)
|
|
60
|
+
multi_xml (0.7.1)
|
|
61
|
+
bigdecimal (~> 3.1)
|
|
62
|
+
net-http (0.6.0)
|
|
63
|
+
uri
|
|
44
64
|
oauth2 (2.0.9)
|
|
45
65
|
faraday (>= 0.17.3, < 3.0)
|
|
46
66
|
jwt (>= 1.0, < 3.0)
|
|
@@ -48,86 +68,79 @@ GEM
|
|
|
48
68
|
rack (>= 1.2, < 4)
|
|
49
69
|
snaky_hash (~> 2.0)
|
|
50
70
|
version_gem (~> 1.1)
|
|
51
|
-
parallel (1.
|
|
52
|
-
parser (3.
|
|
71
|
+
parallel (1.26.3)
|
|
72
|
+
parser (3.3.7.1)
|
|
53
73
|
ast (~> 2.4.1)
|
|
54
74
|
racc
|
|
55
|
-
public_suffix (
|
|
56
|
-
racc (1.
|
|
57
|
-
rack (3.
|
|
75
|
+
public_suffix (6.0.1)
|
|
76
|
+
racc (1.8.1)
|
|
77
|
+
rack (3.1.9)
|
|
58
78
|
rainbow (3.1.1)
|
|
59
|
-
rake (13.
|
|
60
|
-
regexp_parser (2.
|
|
61
|
-
rexml (3.
|
|
62
|
-
rspec (3.
|
|
63
|
-
rspec-core (~> 3.
|
|
64
|
-
rspec-expectations (~> 3.
|
|
65
|
-
rspec-mocks (~> 3.
|
|
66
|
-
rspec-core (3.
|
|
67
|
-
rspec-support (~> 3.
|
|
68
|
-
rspec-expectations (3.
|
|
79
|
+
rake (13.2.1)
|
|
80
|
+
regexp_parser (2.10.0)
|
|
81
|
+
rexml (3.4.0)
|
|
82
|
+
rspec (3.13.0)
|
|
83
|
+
rspec-core (~> 3.13.0)
|
|
84
|
+
rspec-expectations (~> 3.13.0)
|
|
85
|
+
rspec-mocks (~> 3.13.0)
|
|
86
|
+
rspec-core (3.13.3)
|
|
87
|
+
rspec-support (~> 3.13.0)
|
|
88
|
+
rspec-expectations (3.13.3)
|
|
69
89
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
70
|
-
rspec-support (~> 3.
|
|
71
|
-
rspec-mocks (3.
|
|
90
|
+
rspec-support (~> 3.13.0)
|
|
91
|
+
rspec-mocks (3.13.2)
|
|
72
92
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
73
|
-
rspec-support (~> 3.
|
|
74
|
-
rspec-support (3.
|
|
75
|
-
rubocop (1.
|
|
93
|
+
rspec-support (~> 3.13.0)
|
|
94
|
+
rspec-support (3.13.2)
|
|
95
|
+
rubocop (1.71.2)
|
|
76
96
|
json (~> 2.3)
|
|
97
|
+
language_server-protocol (>= 3.17.0)
|
|
77
98
|
parallel (~> 1.10)
|
|
78
|
-
parser (>= 3.
|
|
99
|
+
parser (>= 3.3.0.2)
|
|
79
100
|
rainbow (>= 2.2.2, < 4.0)
|
|
80
|
-
regexp_parser (>=
|
|
81
|
-
|
|
82
|
-
rubocop-ast (>= 1.28.0, < 2.0)
|
|
101
|
+
regexp_parser (>= 2.9.3, < 3.0)
|
|
102
|
+
rubocop-ast (>= 1.38.0, < 2.0)
|
|
83
103
|
ruby-progressbar (~> 1.7)
|
|
84
|
-
unicode-display_width (>= 2.4.0, <
|
|
85
|
-
rubocop-ast (1.
|
|
86
|
-
parser (>= 3.
|
|
87
|
-
rubocop-capybara (2.
|
|
104
|
+
unicode-display_width (>= 2.4.0, < 4.0)
|
|
105
|
+
rubocop-ast (1.38.0)
|
|
106
|
+
parser (>= 3.3.1.0)
|
|
107
|
+
rubocop-capybara (2.21.0)
|
|
88
108
|
rubocop (~> 1.41)
|
|
89
|
-
rubocop-factory_bot (2.
|
|
90
|
-
rubocop (~> 1.
|
|
91
|
-
rubocop-performance (1.
|
|
92
|
-
rubocop (>= 1.
|
|
93
|
-
rubocop-ast (>=
|
|
94
|
-
rubocop-rspec (
|
|
95
|
-
rubocop (~> 1.
|
|
96
|
-
|
|
97
|
-
rubocop
|
|
109
|
+
rubocop-factory_bot (2.26.1)
|
|
110
|
+
rubocop (~> 1.61)
|
|
111
|
+
rubocop-performance (1.23.1)
|
|
112
|
+
rubocop (>= 1.48.1, < 2.0)
|
|
113
|
+
rubocop-ast (>= 1.31.1, < 2.0)
|
|
114
|
+
rubocop-rspec (3.4.0)
|
|
115
|
+
rubocop (~> 1.61)
|
|
116
|
+
rubocop-rspec_rails (2.30.0)
|
|
117
|
+
rubocop (~> 1.61)
|
|
118
|
+
rubocop-rspec (~> 3, >= 3.0.1)
|
|
98
119
|
ruby-progressbar (1.13.0)
|
|
99
|
-
|
|
120
|
+
securerandom (0.4.1)
|
|
100
121
|
simplecov (0.22.0)
|
|
101
122
|
docile (~> 1.1)
|
|
102
123
|
simplecov-html (~> 0.11)
|
|
103
124
|
simplecov_json_formatter (~> 0.1)
|
|
104
|
-
simplecov-html (0.
|
|
125
|
+
simplecov-html (0.13.1)
|
|
105
126
|
simplecov_json_formatter (0.1.4)
|
|
106
127
|
snaky_hash (2.0.1)
|
|
107
128
|
hashie
|
|
108
129
|
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
130
|
tzinfo (2.0.6)
|
|
122
131
|
concurrent-ruby (~> 1.0)
|
|
123
|
-
unicode-display_width (
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
132
|
+
unicode-display_width (3.1.4)
|
|
133
|
+
unicode-emoji (~> 4.0, >= 4.0.4)
|
|
134
|
+
unicode-emoji (4.0.4)
|
|
135
|
+
uri (1.0.2)
|
|
136
|
+
vcr (6.3.1)
|
|
137
|
+
base64
|
|
138
|
+
version_gem (1.1.4)
|
|
139
|
+
webmock (3.25.0)
|
|
127
140
|
addressable (>= 2.8.0)
|
|
128
141
|
crack (>= 0.3.2)
|
|
129
142
|
hashdiff (>= 0.4.0, < 2.0.0)
|
|
130
|
-
zeitwerk (2.
|
|
143
|
+
zeitwerk (2.7.1)
|
|
131
144
|
|
|
132
145
|
PLATFORMS
|
|
133
146
|
x86_64-darwin-19
|
|
@@ -141,9 +154,13 @@ DEPENDENCIES
|
|
|
141
154
|
mais_orcid_client!
|
|
142
155
|
rake (~> 13.0)
|
|
143
156
|
rspec (~> 3.0)
|
|
157
|
+
rubocop
|
|
158
|
+
rubocop-capybara
|
|
159
|
+
rubocop-factory_bot
|
|
160
|
+
rubocop-performance
|
|
144
161
|
rubocop-rspec
|
|
162
|
+
rubocop-rspec_rails
|
|
145
163
|
simplecov
|
|
146
|
-
standard
|
|
147
164
|
vcr
|
|
148
165
|
webmock
|
|
149
166
|
|
data/README.md
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
[](https://badge.fury.io/rb/mais_orcid_client)
|
|
2
2
|
[](https://circleci.com/gh/sul-dlss/mais_orcid_client)
|
|
3
|
-
[](https://codeclimate.com/github/sul-dlss/mais_orcid_client/test_coverage)
|
|
3
|
+
[](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.
|
data/Rakefile
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require
|
|
4
|
-
require
|
|
5
|
-
require
|
|
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
|
-
|
|
22
|
-
|
|
21
|
+
token_url: '/api/oauth/token',
|
|
22
|
+
authorize_url: '/api/oauth/authorize',
|
|
23
|
+
auth_scheme: :request_body)
|
|
23
24
|
client.client_credentials.get_token.token
|
|
24
25
|
end
|
|
25
26
|
end
|
data/lib/mais_orcid_client.rb
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require
|
|
4
|
-
require
|
|
3
|
+
require 'active_support/core_ext/module/delegation'
|
|
4
|
+
require 'active_support/core_ext/hash/indifferent_access'
|
|
5
5
|
|
|
6
|
-
require
|
|
7
|
-
require
|
|
8
|
-
require
|
|
9
|
-
require
|
|
10
|
-
require
|
|
6
|
+
require 'faraday'
|
|
7
|
+
require 'faraday/retry'
|
|
8
|
+
require 'oauth2'
|
|
9
|
+
require 'singleton'
|
|
10
|
+
require 'zeitwerk'
|
|
11
11
|
|
|
12
12
|
# Load the gem's internal dependencies: use Zeitwerk instead of needing to manually require classes
|
|
13
13
|
Zeitwerk::Loader.for_gem.setup
|
|
@@ -19,7 +19,7 @@ class MaisOrcidClient
|
|
|
19
19
|
# Struct for ORCID-relating data returned from API.
|
|
20
20
|
OrcidUser = Struct.new(:sunetid, :orcidid, :scope, :access_token, :last_updated) do
|
|
21
21
|
def update?
|
|
22
|
-
scope.include?(
|
|
22
|
+
scope.include?('/activities/update')
|
|
23
23
|
end
|
|
24
24
|
end
|
|
25
25
|
|
|
@@ -28,12 +28,14 @@ class MaisOrcidClient
|
|
|
28
28
|
# @param client_secret [String] the client secret to authenticate with MAIS
|
|
29
29
|
# @param base_url [String] the base URL for the API
|
|
30
30
|
def configure(client_id:, client_secret:, base_url:)
|
|
31
|
+
# rubocop:disable Style/OpenStructUse
|
|
31
32
|
instance.config = OpenStruct.new(
|
|
32
33
|
token: Authenticator.token(client_id, client_secret, base_url),
|
|
33
34
|
client_id:,
|
|
34
35
|
client_secret:,
|
|
35
36
|
base_url:
|
|
36
37
|
)
|
|
38
|
+
# rubocop:enable Style/OpenStructUse
|
|
37
39
|
|
|
38
40
|
self
|
|
39
41
|
end
|
|
@@ -46,13 +48,16 @@ class MaisOrcidClient
|
|
|
46
48
|
# @param [int] limit number of users requested
|
|
47
49
|
# @param [int] page_size number of users per page
|
|
48
50
|
# @return [Array<OrcidUser>] orcid users
|
|
51
|
+
# rubocop:disable Metrics/MethodLength
|
|
52
|
+
# rubocop:disable Metrics/AbcSize
|
|
49
53
|
def fetch_orcid_users(limit: nil, page_size: nil)
|
|
50
54
|
orcid_users = []
|
|
51
55
|
next_page = first_page(page_size)
|
|
52
56
|
loop do
|
|
53
57
|
response = get_response(next_page)
|
|
54
58
|
response[:results].each do |result|
|
|
55
|
-
orcid_users << OrcidUser.new(result[:sunet_id], result[:orcid_id], result[:scope], result[:access_token],
|
|
59
|
+
orcid_users << OrcidUser.new(result[:sunet_id], result[:orcid_id], result[:scope], result[:access_token],
|
|
60
|
+
result[:last_updated])
|
|
56
61
|
return orcid_users if limit && limit == orcid_users.size
|
|
57
62
|
end
|
|
58
63
|
# Currently next is always present, even on last page. (This may be changed in future.)
|
|
@@ -60,13 +65,15 @@ class MaisOrcidClient
|
|
|
60
65
|
return orcid_users if last_page?(response[:links])
|
|
61
66
|
end
|
|
62
67
|
end
|
|
68
|
+
# rubocop:enable Metrics/MethodLength
|
|
69
|
+
# rubocop:enable Metrics/AbcSize
|
|
63
70
|
|
|
64
71
|
# Fetch a user details, including scope and token, given either a SUNetID or ORCIDID
|
|
65
72
|
# @param [string] sunetid of user to fetch
|
|
66
73
|
# @param [orcid] orcidid of user to fetch (ignored if sunetid is also provided)
|
|
67
74
|
# @return [<OrcidUser>, nil] orcid user or nil if not found
|
|
68
75
|
def fetch_orcid_user(sunetid: nil, orcidid: nil)
|
|
69
|
-
raise
|
|
76
|
+
raise 'must provide either a sunetid or orcidid' unless sunetid || orcidid
|
|
70
77
|
|
|
71
78
|
sunetid ? fetch_by_sunetid(sunetid) : fetch_by_orcidid(orcidid)
|
|
72
79
|
end
|
|
@@ -98,7 +105,7 @@ class MaisOrcidClient
|
|
|
98
105
|
end
|
|
99
106
|
|
|
100
107
|
def first_page(page_size = nil)
|
|
101
|
-
path =
|
|
108
|
+
path = '/users?scope=ANY'
|
|
102
109
|
path += "&page_size=#{page_size}" if page_size
|
|
103
110
|
path
|
|
104
111
|
end
|
|
@@ -107,6 +114,7 @@ class MaisOrcidClient
|
|
|
107
114
|
links[:self] == links[:last]
|
|
108
115
|
end
|
|
109
116
|
|
|
117
|
+
# rubocop:disable Metrics/MethodLength
|
|
110
118
|
def get_response(path, allow404: false)
|
|
111
119
|
TokenWrapper.refresh(config) do
|
|
112
120
|
response = conn.get("/mais/orcid/v1#{path}")
|
|
@@ -116,7 +124,10 @@ class MaisOrcidClient
|
|
|
116
124
|
return UnexpectedResponse.call(response) unless response.success?
|
|
117
125
|
|
|
118
126
|
body = JSON.parse(response.body).with_indifferent_access
|
|
119
|
-
|
|
127
|
+
if body.key?(:error)
|
|
128
|
+
raise UnexpectedResponse::ResponseError,
|
|
129
|
+
"UIT MAIS ORCID User API returned an error: #{response.body}"
|
|
130
|
+
end
|
|
120
131
|
|
|
121
132
|
body
|
|
122
133
|
end
|
|
@@ -125,19 +136,21 @@ class MaisOrcidClient
|
|
|
125
136
|
def conn
|
|
126
137
|
conn = Faraday.new(url: config.base_url) do |faraday|
|
|
127
138
|
faraday.request :retry, max: 3,
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
139
|
+
interval: 0.5,
|
|
140
|
+
interval_randomness: 0.5,
|
|
141
|
+
backoff_factor: 2
|
|
131
142
|
end
|
|
132
143
|
conn.options.timeout = 500
|
|
133
144
|
conn.options.open_timeout = 10
|
|
134
|
-
conn.headers[:user_agent] =
|
|
145
|
+
conn.headers[:user_agent] = 'stanford-library-sul-pub'
|
|
135
146
|
conn.headers[:authorization] = "Bearer #{config.token}"
|
|
136
147
|
conn
|
|
137
148
|
end
|
|
149
|
+
# rubocop:enable Metrics/MethodLength
|
|
138
150
|
|
|
139
151
|
# @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
|
|
152
|
+
# @return [string] orcidid without URI (if valid), e.g. "0000-0002-7262-6251" or empty string if none found
|
|
153
|
+
# or orcidid invalid
|
|
141
154
|
def orcidid_without_uri(orcidid)
|
|
142
155
|
orcidid.match(/\d{4}-\d{4}-\d{4}-\d{3}(\d|X){1}\z/).to_s
|
|
143
156
|
end
|
data/mais_orcid_client.gemspec
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
lib = File.expand_path(
|
|
3
|
+
lib = File.expand_path('lib', __dir__)
|
|
4
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
5
|
-
require
|
|
5
|
+
require 'mais_orcid_client/version'
|
|
6
6
|
|
|
7
7
|
Gem::Specification.new do |spec|
|
|
8
|
-
spec.name =
|
|
8
|
+
spec.name = 'mais_orcid_client'
|
|
9
9
|
spec.version = MaisOrcidClient::VERSION
|
|
10
|
-
spec.authors = [
|
|
11
|
-
spec.email = [
|
|
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 =
|
|
16
|
-
spec.required_ruby_version =
|
|
15
|
+
spec.homepage = 'https://github.com/sul-dlss/mais_orcid_client'
|
|
16
|
+
spec.required_ruby_version = '>= 3.2.0'
|
|
17
17
|
|
|
18
|
-
spec.metadata[
|
|
19
|
-
spec.metadata[
|
|
20
|
-
spec.metadata[
|
|
21
|
-
spec.metadata[
|
|
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,26 @@ 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 =
|
|
30
|
+
spec.bindir = 'exe'
|
|
31
31
|
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
|
32
|
-
spec.require_paths = [
|
|
32
|
+
spec.require_paths = ['lib']
|
|
33
33
|
|
|
34
|
-
spec.add_dependency
|
|
35
|
-
spec.add_dependency
|
|
36
|
-
spec.add_dependency
|
|
37
|
-
spec.add_dependency
|
|
38
|
-
spec.add_dependency
|
|
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 'zeitwerk'
|
|
39
39
|
|
|
40
|
-
spec.add_development_dependency
|
|
41
|
-
spec.add_development_dependency
|
|
42
|
-
spec.add_development_dependency
|
|
43
|
-
spec.add_development_dependency
|
|
44
|
-
spec.add_development_dependency
|
|
45
|
-
spec.add_development_dependency
|
|
46
|
-
spec.add_development_dependency
|
|
47
|
-
spec.add_development_dependency
|
|
40
|
+
spec.add_development_dependency 'byebug'
|
|
41
|
+
spec.add_development_dependency 'rake', '~> 13.0'
|
|
42
|
+
spec.add_development_dependency 'rspec', '~> 3.0'
|
|
43
|
+
spec.add_development_dependency 'rubocop'
|
|
44
|
+
spec.add_development_dependency 'rubocop-capybara'
|
|
45
|
+
spec.add_development_dependency 'rubocop-factory_bot'
|
|
46
|
+
spec.add_development_dependency 'rubocop-performance'
|
|
47
|
+
spec.add_development_dependency 'rubocop-rspec'
|
|
48
|
+
spec.add_development_dependency 'rubocop-rspec_rails'
|
|
49
|
+
spec.add_development_dependency 'simplecov'
|
|
50
|
+
spec.add_development_dependency 'vcr'
|
|
51
|
+
spec.add_development_dependency 'webmock'
|
|
48
52
|
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.
|
|
4
|
+
version: 0.4.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:
|
|
11
|
+
date: 2025-02-18 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
|
|
@@ -87,6 +80,20 @@ dependencies:
|
|
|
87
80
|
- - ">="
|
|
88
81
|
- !ruby/object:Gem::Version
|
|
89
82
|
version: '0'
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: byebug
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - ">="
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '0'
|
|
90
|
+
type: :development
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - ">="
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: '0'
|
|
90
97
|
- !ruby/object:Gem::Dependency
|
|
91
98
|
name: rake
|
|
92
99
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -116,7 +123,49 @@ dependencies:
|
|
|
116
123
|
- !ruby/object:Gem::Version
|
|
117
124
|
version: '3.0'
|
|
118
125
|
- !ruby/object:Gem::Dependency
|
|
119
|
-
name:
|
|
126
|
+
name: rubocop
|
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
|
128
|
+
requirements:
|
|
129
|
+
- - ">="
|
|
130
|
+
- !ruby/object:Gem::Version
|
|
131
|
+
version: '0'
|
|
132
|
+
type: :development
|
|
133
|
+
prerelease: false
|
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
135
|
+
requirements:
|
|
136
|
+
- - ">="
|
|
137
|
+
- !ruby/object:Gem::Version
|
|
138
|
+
version: '0'
|
|
139
|
+
- !ruby/object:Gem::Dependency
|
|
140
|
+
name: rubocop-capybara
|
|
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-factory_bot
|
|
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-performance
|
|
120
169
|
requirement: !ruby/object:Gem::Requirement
|
|
121
170
|
requirements:
|
|
122
171
|
- - ">="
|
|
@@ -144,7 +193,7 @@ dependencies:
|
|
|
144
193
|
- !ruby/object:Gem::Version
|
|
145
194
|
version: '0'
|
|
146
195
|
- !ruby/object:Gem::Dependency
|
|
147
|
-
name:
|
|
196
|
+
name: rubocop-rspec_rails
|
|
148
197
|
requirement: !ruby/object:Gem::Requirement
|
|
149
198
|
requirements:
|
|
150
199
|
- - ">="
|
|
@@ -158,7 +207,7 @@ dependencies:
|
|
|
158
207
|
- !ruby/object:Gem::Version
|
|
159
208
|
version: '0'
|
|
160
209
|
- !ruby/object:Gem::Dependency
|
|
161
|
-
name:
|
|
210
|
+
name: simplecov
|
|
162
211
|
requirement: !ruby/object:Gem::Requirement
|
|
163
212
|
requirements:
|
|
164
213
|
- - ">="
|
|
@@ -186,7 +235,7 @@ dependencies:
|
|
|
186
235
|
- !ruby/object:Gem::Version
|
|
187
236
|
version: '0'
|
|
188
237
|
- !ruby/object:Gem::Dependency
|
|
189
|
-
name:
|
|
238
|
+
name: webmock
|
|
190
239
|
requirement: !ruby/object:Gem::Requirement
|
|
191
240
|
requirements:
|
|
192
241
|
- - ">="
|
|
@@ -209,8 +258,6 @@ extra_rdoc_files: []
|
|
|
209
258
|
files:
|
|
210
259
|
- ".rspec"
|
|
211
260
|
- ".rubocop.yml"
|
|
212
|
-
- ".rubocop/custom.yml"
|
|
213
|
-
- ".standard.yml"
|
|
214
261
|
- Gemfile
|
|
215
262
|
- Gemfile.lock
|
|
216
263
|
- LICENSE
|
|
@@ -229,7 +276,6 @@ metadata:
|
|
|
229
276
|
source_code_uri: https://github.com/sul-dlss/mais_orcid_client
|
|
230
277
|
changelog_uri: https://github.com/sul-dlss/mais_orcid_client/releases
|
|
231
278
|
rubygems_mfa_required: 'true'
|
|
232
|
-
post_install_message:
|
|
233
279
|
rdoc_options: []
|
|
234
280
|
require_paths:
|
|
235
281
|
- lib
|
|
@@ -244,8 +290,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
244
290
|
- !ruby/object:Gem::Version
|
|
245
291
|
version: '0'
|
|
246
292
|
requirements: []
|
|
247
|
-
rubygems_version: 3.
|
|
248
|
-
signing_key:
|
|
293
|
+
rubygems_version: 3.6.3
|
|
249
294
|
specification_version: 4
|
|
250
295
|
summary: Interface for interacting with the MAIS's ORCID API.
|
|
251
296
|
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
|