mods_display 1.0.0.alpha4 → 1.0.0.alpha5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +42 -0
  3. data/.rubocop_todo.yml +72 -401
  4. data/Gemfile +4 -1
  5. data/Rakefile +8 -6
  6. data/app/components/mods_display/field_component.rb +2 -0
  7. data/app/components/mods_display/list_field_component.rb +2 -0
  8. data/app/components/mods_display/record_component.rb +2 -0
  9. data/app/helpers/mods_display/record_helper.rb +4 -7
  10. data/app/models/mods_display/record.rb +2 -1
  11. data/config.ru +2 -2
  12. data/lib/mods_display/country_codes.rb +2 -1
  13. data/lib/mods_display/fields/abstract.rb +2 -0
  14. data/lib/mods_display/fields/access_condition.rb +7 -4
  15. data/lib/mods_display/fields/audience.rb +2 -0
  16. data/lib/mods_display/fields/cartographics.rb +8 -1
  17. data/lib/mods_display/fields/collection.rb +6 -2
  18. data/lib/mods_display/fields/contact.rb +2 -0
  19. data/lib/mods_display/fields/contents.rb +2 -0
  20. data/lib/mods_display/fields/description.rb +3 -2
  21. data/lib/mods_display/fields/extent.rb +3 -0
  22. data/lib/mods_display/fields/field.rb +6 -9
  23. data/lib/mods_display/fields/form.rb +3 -0
  24. data/lib/mods_display/fields/genre.rb +2 -0
  25. data/lib/mods_display/fields/geo.rb +5 -2
  26. data/lib/mods_display/fields/identifier.rb +20 -17
  27. data/lib/mods_display/fields/imprint.rb +168 -217
  28. data/lib/mods_display/fields/language.rb +5 -1
  29. data/lib/mods_display/fields/location.rb +4 -1
  30. data/lib/mods_display/fields/name.rb +35 -19
  31. data/lib/mods_display/fields/nested_related_item.rb +12 -2
  32. data/lib/mods_display/fields/note.rb +9 -7
  33. data/lib/mods_display/fields/related_item.rb +12 -9
  34. data/lib/mods_display/fields/resource_type.rb +2 -0
  35. data/lib/mods_display/fields/sub_title.rb +2 -0
  36. data/lib/mods_display/fields/subject.rb +17 -50
  37. data/lib/mods_display/fields/title.rb +37 -26
  38. data/lib/mods_display/fields/values.rb +2 -0
  39. data/lib/mods_display/html.rb +4 -3
  40. data/lib/mods_display/related_item_concerns.rb +4 -2
  41. data/lib/mods_display/relator_codes.rb +2 -0
  42. data/lib/mods_display/version.rb +3 -1
  43. data/lib/mods_display.rb +5 -3
  44. data/mods_display.gemspec +1 -1
  45. metadata +12 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ddc37991f77e62624571f1bb31377288046f1cc31b184d20b0cc3677a3e52b7e
4
- data.tar.gz: 770739d41125913dca2427c9f1a6ef6c1c27c58b7dec25957971e6a4fc57d2be
3
+ metadata.gz: ee420c061ed577ae40b3acdf90215a8261ba96d63c53c96ed9d021ab3446fd31
4
+ data.tar.gz: cec3558b7a3886f25968aec482b1126e04f7f10132382cb787f5895666b37e62
5
5
  SHA512:
6
- metadata.gz: 0bc274a16344bb24cf853a15595444659a5255fdf4f4fd4095d75acf438ce01df9df70bf86f0526788c79deb5b46dd59bb40d96242fd8afec5f4148b0228a7d5
7
- data.tar.gz: 99da3c5c1d779f1100a61047db8c7ffd2b2485216e48dbcd1a2728deb0599ddd7da828f49199e3db8fda761c6a9862e115d8ba71dbe727124eb48b186c6484c5
6
+ metadata.gz: 6b1a7cdb7e7f48cfd746e694577ceab478564d465416beab8cb9e307e70d0018fb06b17cf72a5be768ee7fbbf3e224b55c6bdbcada67779fb524633f750d8f08
7
+ data.tar.gz: 15002dc0bea304a8d933f89e0d99116b0804ddb5fd3f6f4ec104dd890406d596c3d5694d38ccb73707d4c3cb644fa29186f91e17a444635a0d2615930aac9825
data/.rubocop.yml CHANGED
@@ -1,5 +1,7 @@
1
1
  inherit_from: .rubocop_todo.yml
2
2
 
3
+ require: rubocop-rspec
4
+
3
5
  AllCops:
4
6
  Exclude:
5
7
  - '*.gemspec'
@@ -8,10 +10,50 @@ AllCops:
8
10
  - 'spec/fixtures/**/*'
9
11
  - 'vendor/**/*'
10
12
  TargetRubyVersion: 2.7
13
+ NewCops: enable
11
14
 
15
+ # Warn only for long lines
12
16
  Layout/LineLength:
13
17
  Max: 120
18
+ Severity: warning
14
19
 
20
+ # Use single-quoted strings where possible
15
21
  Style/StringLiterals:
16
22
  Enabled: true
17
23
  EnforcedStyle: single_quotes
24
+
25
+ # Prevent false positives because we have fields named "subject"
26
+ RSpec/SubjectDeclaration:
27
+ Enabled: false
28
+
29
+ RSpec/NamedSubject:
30
+ Enabled: false
31
+
32
+ # Allow long test blocks with multiple expectations
33
+ RSpec/MultipleExpectations:
34
+ Enabled: false
35
+
36
+ RSpec/ExampleLength:
37
+ Enabled: false
38
+
39
+ # Warn only for complexity-related metrics
40
+ Metrics/MethodLength:
41
+ Severity: warning
42
+
43
+ Metrics/ClassLength:
44
+ Severity: warning
45
+
46
+ Metrics/BlockLength:
47
+ Severity: warning
48
+
49
+ Metrics/ModuleLength:
50
+ Severity: warning
51
+
52
+ Metrics/PerceivedComplexity:
53
+ Severity: warning
54
+
55
+ Metrics/CyclomaticComplexity:
56
+ Severity: warning
57
+
58
+ Metrics/AbcSize:
59
+ Severity: warning
data/.rubocop_todo.yml CHANGED
@@ -1,217 +1,51 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2022-01-06 19:25:06 UTC using RuboCop version 1.24.1.
3
+ # on 2022-01-24 23:44:41 UTC using RuboCop version 1.25.0.
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
- # Offense count: 5
10
- # Cop supports --auto-correct.
11
- # Configuration parameters: EnforcedStyle, IndentOneStep, IndentationWidth.
12
- # SupportedStyles: case, end
13
- Layout/CaseIndentation:
14
- Exclude:
15
- - 'lib/mods_display/fields/title.rb'
16
-
17
- # Offense count: 43
18
- # Cop supports --auto-correct.
19
- Layout/EmptyLineAfterGuardClause:
20
- Enabled: false
21
-
22
- # Offense count: 3
23
- # Cop supports --auto-correct.
24
- Layout/EmptyLineAfterMagicComment:
25
- Exclude:
26
- - 'lib/mods_display/country_codes.rb'
27
- - 'lib/mods_display/fields/field.rb'
28
- - 'spec/integration/html_spec.rb'
29
-
30
- # Offense count: 1
31
- # Cop supports --auto-correct.
32
- # Configuration parameters: EmptyLineBetweenMethodDefs, EmptyLineBetweenClassDefs, EmptyLineBetweenModuleDefs, AllowAdjacentOneLineDefs, NumberOfEmptyLines.
33
- Layout/EmptyLineBetweenDefs:
34
- Exclude:
35
- - 'spec/fake_app.rb'
36
-
37
- # Offense count: 2
38
- # Cop supports --auto-correct.
39
- # Configuration parameters: AllowAliasSyntax, AllowedMethods.
40
- # AllowedMethods: alias_method, public, protected, private
41
- Layout/EmptyLinesAroundAttributeAccessor:
42
- Exclude:
43
- - 'lib/mods_display/fields/name.rb'
44
- - 'spec/spec_helper.rb'
45
-
46
- # Offense count: 1
47
- # Cop supports --auto-correct.
48
- # Configuration parameters: EnforcedStyle.
49
- # SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines
50
- Layout/EmptyLinesAroundModuleBody:
51
- Exclude:
52
- - 'app/helpers/mods_display/record_helper.rb'
53
-
54
- # Offense count: 1
55
- # Cop supports --auto-correct.
56
- # Configuration parameters: EnforcedStyleAlignWith, Severity.
57
- # SupportedStylesAlignWith: keyword, variable, start_of_line
58
- Layout/EndAlignment:
59
- Exclude:
60
- - 'lib/mods_display/fields/title.rb'
61
-
62
- # Offense count: 1
63
- # Cop supports --auto-correct.
64
- # Configuration parameters: AllowForAlignment, AllowBeforeTrailingComments, ForceEqualSignAlignment.
65
- Layout/ExtraSpacing:
66
- Exclude:
67
- - 'lib/mods_display/fields/name.rb'
68
-
69
- # Offense count: 1
70
- # Cop supports --auto-correct.
71
- # Configuration parameters: EnforcedStyle, IndentationWidth.
72
- # SupportedStyles: consistent, consistent_relative_to_receiver, special_for_inner_method_call, special_for_inner_method_call_in_parentheses
73
- Layout/FirstArgumentIndentation:
74
- Exclude:
75
- - 'spec/fields/contents_spec.rb'
76
-
77
9
  # Offense count: 28
78
10
  # Cop supports --auto-correct.
79
- # Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle.
80
- # SupportedHashRocketStyles: key, separator, table
81
- # SupportedColonStyles: key, separator, table
82
- # SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit
83
- Layout/HashAlignment:
84
- Exclude:
85
- - 'lib/mods_display/fields/access_condition.rb'
86
- - 'lib/mods_display/fields/identifier.rb'
87
- - 'lib/mods_display/fields/note.rb'
88
- - 'lib/mods_display/fields/title.rb'
89
-
90
- # Offense count: 1
91
- # Cop supports --auto-correct.
92
- # Configuration parameters: AllowDoxygenCommentStyle, AllowGemfileRubyComment.
93
- Layout/LeadingCommentSpace:
94
- Exclude:
95
- - 'lib/mods_display.rb'
96
-
97
- # Offense count: 9
98
- # Cop supports --auto-correct.
99
11
  # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
100
12
  # URISchemes: http, https
101
13
  Layout/LineLength:
102
14
  Max: 255
103
15
 
104
- # Offense count: 1
105
- # Cop supports --auto-correct.
106
- # Configuration parameters: EnforcedStyle.
107
- # SupportedStyles: symmetrical, new_line, same_line
108
- Layout/MultilineArrayBraceLayout:
109
- Exclude:
110
- - 'lib/mods_display/html.rb'
111
-
112
- # Offense count: 5
113
- # Cop supports --auto-correct.
114
- # Configuration parameters: EnforcedStyle.
115
- # SupportedStyles: symmetrical, new_line, same_line
116
- Layout/MultilineHashBraceLayout:
117
- Exclude:
118
- - 'lib/mods_display/fields/access_condition.rb'
119
- - 'lib/mods_display/fields/description.rb'
120
- - 'lib/mods_display/fields/imprint.rb'
121
- - 'lib/mods_display/fields/note.rb'
122
- - 'lib/mods_display/html.rb'
123
-
124
- # Offense count: 3
125
- # Cop supports --auto-correct.
126
- # Configuration parameters: EnforcedStyle, IndentationWidth.
127
- # SupportedStyles: aligned, indented
128
- Layout/MultilineOperationIndentation:
129
- Exclude:
130
- - 'lib/mods_display/fields/name.rb'
131
- - 'lib/mods_display/related_item_concerns.rb'
132
-
133
- # Offense count: 1
134
- # Cop supports --auto-correct.
135
- # Configuration parameters: AllowForAlignment, EnforcedStyleForExponentOperator.
136
- # SupportedStylesForExponentOperator: space, no_space
137
- Layout/SpaceAroundOperators:
138
- Exclude:
139
- - 'lib/mods_display/fields/name.rb'
140
-
141
- # Offense count: 1
142
- # Cop supports --auto-correct.
143
- # Configuration parameters: EnforcedStyle.
144
- # SupportedStyles: final_newline, final_blank_line
145
- Layout/TrailingEmptyLines:
146
- Exclude:
147
- - 'Gemfile'
148
-
149
- # Offense count: 15
150
- # Cop supports --auto-correct.
151
- Lint/AmbiguousRegexpLiteral:
152
- Exclude:
153
- - 'spec/helpers/record_helper_spec.rb'
154
-
155
- # Offense count: 1
156
- Lint/MissingSuper:
157
- Exclude:
158
- - 'app/components/mods_display/field_component.rb'
159
-
160
- # Offense count: 1
161
- # Cop supports --auto-correct.
162
- Lint/NonDeterministicRequireOrder:
163
- Exclude:
164
- - 'spec/spec_helper.rb'
165
-
166
16
  # Offense count: 2
167
- # Cop supports --auto-correct.
168
- Lint/SendWithMixinArgument:
17
+ # Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches.
18
+ Lint/DuplicateBranch:
169
19
  Exclude:
170
- - 'lib/mods_display.rb'
171
- - 'lib/mods_display/railtie.rb'
20
+ - 'lib/mods_display/fields/title.rb'
172
21
 
173
22
  # Offense count: 1
174
23
  Lint/ShadowingOuterLocalVariable:
175
24
  Exclude:
176
25
  - 'spec/helpers/record_helper_spec.rb'
177
26
 
178
- # Offense count: 3
179
- # Cop supports --auto-correct.
180
- # Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods.
181
- Lint/UnusedMethodArgument:
182
- Exclude:
183
- - 'app/components/mods_display/field_component.rb'
184
- - 'app/helpers/mods_display/record_helper.rb'
185
-
186
- # Offense count: 1
187
- # Cop supports --auto-correct.
188
- # Configuration parameters: ContextCreatingMethods, MethodCreatingMethods.
189
- Lint/UselessAccessModifier:
190
- Exclude:
191
- - 'lib/mods_display/controller_extension.rb'
192
-
193
- # Offense count: 26
27
+ # Offense count: 18
194
28
  # Configuration parameters: IgnoredMethods, CountRepeatedAttributes.
195
29
  Metrics/AbcSize:
196
30
  Max: 48
197
31
 
198
- # Offense count: 40
32
+ # Offense count: 37
199
33
  # Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods.
200
34
  # IgnoredMethods: refine
201
35
  Metrics/BlockLength:
202
- Max: 261
36
+ Max: 257
203
37
 
204
- # Offense count: 6
38
+ # Offense count: 3
205
39
  # Configuration parameters: CountComments, CountAsOne.
206
40
  Metrics/ClassLength:
207
- Max: 277
41
+ Max: 298
208
42
 
209
- # Offense count: 15
43
+ # Offense count: 11
210
44
  # Configuration parameters: IgnoredMethods.
211
45
  Metrics/CyclomaticComplexity:
212
- Max: 14
46
+ Max: 18
213
47
 
214
- # Offense count: 31
48
+ # Offense count: 21
215
49
  # Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods.
216
50
  Metrics/MethodLength:
217
51
  Max: 378
@@ -221,21 +55,19 @@ Metrics/MethodLength:
221
55
  Metrics/ModuleLength:
222
56
  Max: 380
223
57
 
224
- # Offense count: 14
58
+ # Offense count: 8
225
59
  # Configuration parameters: IgnoredMethods.
226
60
  Metrics/PerceivedComplexity:
227
- Max: 16
61
+ Max: 20
228
62
 
229
- # Offense count: 3
63
+ # Offense count: 1
230
64
  # Configuration parameters: EnforcedStyleForLeadingUnderscores.
231
65
  # SupportedStylesForLeadingUnderscores: disallowed, required, optional
232
66
  Naming/MemoizedInstanceVariableName:
233
67
  Exclude:
234
- - 'app/models/mods_display/model.rb'
235
- - 'lib/mods_display/configuration.rb'
236
68
  - 'lib/mods_display/fields/geo.rb'
237
69
 
238
- # Offense count: 8
70
+ # Offense count: 7
239
71
  # Configuration parameters: EnforcedStyle, IgnoredPatterns.
240
72
  # SupportedStyles: snake_case, camelCase
241
73
  Naming/MethodName:
@@ -248,102 +80,83 @@ Naming/MethodName:
248
80
  - 'lib/mods_display/fields/resource_type.rb'
249
81
  - 'lib/mods_display/fields/subject.rb'
250
82
 
251
- # Offense count: 2
252
- # Cop supports --auto-correct.
253
- Style/CaseLikeIf:
254
- Exclude:
255
- - 'lib/mods_display/fields/field.rb'
256
- - 'lib/mods_display/fields/imprint.rb'
257
-
258
- # Offense count: 6
259
- # Cop supports --auto-correct.
260
- # Configuration parameters: EnforcedStyle, SingleLineConditionsOnly, IncludeTernaryExpressions.
261
- # SupportedStyles: assign_to_condition, assign_inside_condition
262
- Style/ConditionalAssignment:
263
- Exclude:
264
- - 'lib/mods_display/fields/field.rb'
265
- - 'lib/mods_display/fields/subject.rb'
266
-
267
- # Offense count: 47
268
- # Configuration parameters: AllowedConstants.
269
- Style/Documentation:
83
+ # Offense count: 19
84
+ RSpec/BeforeAfterAll:
270
85
  Enabled: false
271
86
 
272
- # Offense count: 3
273
- # Cop supports --auto-correct.
274
- Style/EmptyCaseCondition:
87
+ # Offense count: 2
88
+ # Configuration parameters: Prefixes.
89
+ # Prefixes: when, with, without
90
+ RSpec/ContextWording:
275
91
  Exclude:
276
- - 'lib/mods_display/fields/field.rb'
277
- - 'lib/mods_display/fields/related_item.rb'
278
- - 'lib/mods_display/fields/title.rb'
92
+ - 'spec/fields/contents_spec.rb'
93
+ - 'spec/fields/form_spec.rb'
279
94
 
280
- # Offense count: 3
281
- # Cop supports --auto-correct.
282
- Style/Encoding:
95
+ # Offense count: 1
96
+ # Configuration parameters: IgnoredMetadata.
97
+ RSpec/DescribeClass:
283
98
  Exclude:
284
- - 'lib/mods_display/country_codes.rb'
285
- - 'lib/mods_display/fields/field.rb'
99
+ - '**/spec/features/**/*'
100
+ - '**/spec/requests/**/*'
101
+ - '**/spec/routing/**/*'
102
+ - '**/spec/system/**/*'
103
+ - '**/spec/views/**/*'
286
104
  - 'spec/integration/html_spec.rb'
287
105
 
288
- # Offense count: 3
106
+ # Offense count: 1
289
107
  # Cop supports --auto-correct.
290
- Style/ExpandPathArguments:
108
+ RSpec/ExpectActual:
291
109
  Exclude:
292
- - 'lib/mods_display.rb'
293
- - 'spec/spec_helper.rb'
110
+ - 'spec/routing/**/*'
111
+ - 'spec/fields/name_spec.rb'
294
112
 
295
- # Offense count: 78
296
- # Cop supports --auto-correct.
297
- # Configuration parameters: EnforcedStyle.
298
- # SupportedStyles: always, always_true, never
299
- Style/FrozenStringLiteralComment:
113
+ # Offense count: 25
114
+ # Configuration parameters: Include, CustomTransform, IgnoreMethods, SpecSuffixOnly.
115
+ # Include: **/*_spec*rb*, **/spec/**/*
116
+ RSpec/FilePath:
300
117
  Enabled: false
301
118
 
302
- # Offense count: 1
303
- # Configuration parameters: MinBodyLength.
304
- Style/GuardClause:
305
- Exclude:
306
- - 'lib/mods_display/fields/related_item.rb'
119
+ # Offense count: 111
120
+ # Configuration parameters: AssignmentOnly.
121
+ RSpec/InstanceVariable:
122
+ Enabled: false
307
123
 
308
124
  # Offense count: 2
309
- # Cop supports --auto-correct.
310
- # Configuration parameters: AllowedReceivers.
311
- Style/HashEachMethods:
125
+ RSpec/IteratedExpectation:
312
126
  Exclude:
313
- - 'lib/mods_display/fields/subject.rb'
314
- - 'spec/fields/name_spec.rb'
127
+ - 'spec/helpers/record_helper_spec.rb'
128
+ - 'spec/integration/html_spec.rb'
315
129
 
316
130
  # Offense count: 1
317
- # Cop supports --auto-correct.
318
- # Configuration parameters: AllowIfModifier.
319
- Style/IfInsideElse:
320
- Exclude:
321
- - 'lib/mods_display/fields/subject.rb'
131
+ # Configuration parameters: .
132
+ # SupportedStyles: have_received, receive
133
+ RSpec/MessageSpies:
134
+ EnforcedStyle: receive
322
135
 
323
- # Offense count: 7
324
- # Cop supports --auto-correct.
325
- Style/IfUnlessModifier:
326
- Exclude:
327
- - 'app/helpers/mods_display/record_helper.rb'
328
- - 'lib/mods_display.rb'
329
- - 'lib/mods_display/controller_extension.rb'
330
- - 'lib/mods_display/fields/imprint.rb'
331
- - 'lib/mods_display/fields/name.rb'
332
- - 'lib/mods_display/fields/subject.rb'
333
- - 'lib/mods_display/html.rb'
136
+ # Offense count: 4
137
+ # Configuration parameters: AllowSubject.
138
+ RSpec/MultipleMemoizedHelpers:
139
+ Max: 6
334
140
 
335
- # Offense count: 3
336
- # Cop supports --auto-correct.
337
- # Configuration parameters: InverseMethods, InverseBlocks.
338
- Style/InverseMethods:
141
+ # Offense count: 2
142
+ RSpec/NestedGroups:
143
+ Max: 4
144
+
145
+ # Offense count: 2
146
+ RSpec/RepeatedExampleGroupDescription:
339
147
  Exclude:
340
- - 'lib/mods_display/fields/imprint.rb'
341
- - 'lib/mods_display/fields/subject.rb'
148
+ - 'spec/integration/html_spec.rb'
342
149
 
343
150
  # Offense count: 1
344
- Style/MissingRespondToMissing:
151
+ # Configuration parameters: IgnoreNameless, IgnoreSymbolicNames.
152
+ RSpec/VerifiedDoubles:
345
153
  Exclude:
346
- - 'lib/mods_display/html.rb'
154
+ - 'spec/helpers/record_helper_spec.rb'
155
+
156
+ # Offense count: 35
157
+ # Configuration parameters: AllowedConstants.
158
+ Style/Documentation:
159
+ Enabled: false
347
160
 
348
161
  # Offense count: 4
349
162
  Style/MixinUsage:
@@ -358,154 +171,12 @@ Style/MultilineBlockChain:
358
171
  Exclude:
359
172
  - 'lib/mods_display/fields/imprint.rb'
360
173
 
361
- # Offense count: 2
362
- # Cop supports --auto-correct.
363
- Style/MultilineIfModifier:
364
- Exclude:
365
- - 'lib/mods_display/fields/imprint.rb'
366
- - 'lib/mods_display/fields/name.rb'
367
-
368
- # Offense count: 1
369
- # Cop supports --auto-correct.
370
- # Configuration parameters: EnforcedStyle.
371
- # SupportedStyles: literals, strict
372
- Style/MutableConstant:
373
- Exclude:
374
- - 'lib/mods_display/version.rb'
375
-
376
174
  # Offense count: 10
377
- # Cop supports --auto-correct.
378
- # Configuration parameters: EnforcedStyle, IgnoredMethods.
379
- # SupportedStyles: predicate, comparison
380
- Style/NumericPredicate:
381
- Exclude:
382
- - 'spec/**/*'
383
- - 'lib/mods_display/fields/cartographics.rb'
384
- - 'lib/mods_display/fields/collection.rb'
385
- - 'lib/mods_display/fields/imprint.rb'
386
- - 'lib/mods_display/fields/name.rb'
387
- - 'lib/mods_display/fields/related_item.rb'
388
-
389
- # Offense count: 1
390
- # Configuration parameters: AllowedMethods.
391
- # AllowedMethods: respond_to_missing?
392
- Style/OptionalBooleanParameter:
393
- Exclude:
394
- - 'lib/mods_display/configuration/subject.rb'
395
-
396
- # Offense count: 1
397
- # Cop supports --auto-correct.
398
- # Configuration parameters: AllowSafeAssignment, AllowInMultilineConditions.
399
- Style/ParenthesesAroundCondition:
400
- Exclude:
401
- - 'lib/mods_display/html.rb'
402
-
403
- # Offense count: 11
404
- # Cop supports --auto-correct.
405
- # Configuration parameters: PreferredDelimiters.
406
- Style/PercentLiteralDelimiters:
175
+ Style/OpenStructUse:
407
176
  Exclude:
408
- - 'lib/mods_display/fields/imprint.rb'
409
- - 'lib/mods_display/fields/name.rb'
410
- - 'spec/fields/identifier_spec.rb'
411
- - 'spec/fields/language_spec.rb'
412
177
  - 'spec/helpers/record_helper_spec.rb'
413
178
 
414
- # Offense count: 1
415
- # Cop supports --auto-correct.
416
- Style/RedundantParentheses:
417
- Exclude:
418
- - 'lib/mods_display/html.rb'
419
-
420
- # Offense count: 5
421
- # Cop supports --auto-correct.
422
- Style/RedundantRegexpEscape:
423
- Exclude:
424
- - 'lib/mods_display/fields/field.rb'
425
- - 'spec/helpers/record_helper_spec.rb'
426
-
427
- # Offense count: 1
428
- # Cop supports --auto-correct.
429
- # Configuration parameters: AllowMultipleReturnValues.
430
- Style/RedundantReturn:
431
- Exclude:
432
- - 'lib/mods_display/fields/related_item.rb'
433
-
434
- # Offense count: 1
435
- # Cop supports --auto-correct.
436
- Style/RedundantSelf:
437
- Exclude:
438
- - 'lib/mods_display/fields/subject.rb'
439
-
440
- # Offense count: 12
441
- # Cop supports --auto-correct.
442
- # Configuration parameters: EnforcedStyle, AllowInnerSlashes.
443
- # SupportedStyles: slashes, percent_r, mixed
444
- Style/RegexpLiteral:
445
- Exclude:
446
- - 'spec/helpers/record_helper_spec.rb'
447
-
448
- # Offense count: 3
449
- # Cop supports --auto-correct.
450
- # Configuration parameters: EnforcedStyle.
451
- # SupportedStyles: implicit, explicit
452
- Style/RescueStandardError:
453
- Exclude:
454
- - 'lib/mods_display/fields/imprint.rb'
455
- - 'lib/mods_display/html.rb'
456
-
457
- # Offense count: 7
458
- # Cop supports --auto-correct.
459
- # Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods.
460
- # AllowedMethods: present?, blank?, presence, try, try!
461
- Style/SafeNavigation:
462
- Exclude:
463
- - 'lib/mods_display/fields/field.rb'
464
- - 'lib/mods_display/fields/imprint.rb'
465
- - 'lib/mods_display/fields/subject.rb'
466
- - 'lib/mods_display/fields/title.rb'
467
-
468
- # Offense count: 1
469
- # Cop supports --auto-correct.
470
- # Configuration parameters: Mode.
471
- Style/StringConcatenation:
472
- Exclude:
473
- - 'lib/mods_display/fields/name.rb'
474
-
475
- # Offense count: 1
476
- # Cop supports --auto-correct.
477
- # Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
478
- # SupportedStyles: single_quotes, double_quotes
479
- Style/StringLiterals:
480
- Exclude:
481
- - 'spec/fields/name_spec.rb'
482
-
483
- # Offense count: 6
484
- # Cop supports --auto-correct.
485
- # Configuration parameters: MinSize.
486
- # SupportedStyles: percent, brackets
487
- Style/SymbolArray:
488
- EnforcedStyle: brackets
489
-
490
- # Offense count: 1
491
- # Cop supports --auto-correct.
492
- # Configuration parameters: EnforcedStyle, MinSize, WordRegex.
493
- # SupportedStyles: percent, brackets
494
- Style/WordArray:
495
- Exclude:
496
- - 'spec/fields/name_spec.rb'
497
-
498
- # Offense count: 11
499
- # Cop supports --auto-correct.
500
- Style/ZeroLengthPredicate:
501
- Exclude:
502
- - 'lib/mods_display/fields/cartographics.rb'
503
- - 'lib/mods_display/fields/collection.rb'
504
- - 'lib/mods_display/fields/imprint.rb'
505
- - 'lib/mods_display/fields/name.rb'
506
- - 'lib/mods_display/fields/related_item.rb'
507
-
508
- # Offense count: 9
179
+ # Offense count: 28
509
180
  # Cop supports --auto-correct.
510
181
  # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
511
182
  # URISchemes: http, https
data/Gemfile CHANGED
@@ -1,5 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
5
+ gem 'rubocop-rspec', require: false
6
+
3
7
  # Specify your gem's dependencies in mods_display.gemspec
4
8
  gemspec
5
-
data/Rakefile CHANGED
@@ -1,16 +1,18 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bundler/gem_tasks'
2
4
  require 'rspec/core/rake_task'
3
5
  require 'rubocop/rake_task'
4
6
 
5
- RuboCop::RakeTask.new
7
+ RuboCop::RakeTask.new do |task|
8
+ task.requires << 'rubocop-rspec'
9
+ task.options = ['--fail-level', 'error']
10
+ end
11
+
6
12
  RSpec::Core::RakeTask.new(:spec)
7
13
 
8
14
  task :ci do
9
- # Commenting out Rubocop as part of the CI build temporarily
10
- # because TravisCI is not respecting the .rubocop_todo.yml
11
- # You can and should still run rubocop in your editor or
12
- # from the command line manually.
13
- # Rake::Task['rubocop'].invoke
15
+ Rake::Task['rubocop'].invoke
14
16
  Rake::Task['spec'].invoke
15
17
  end
16
18
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ModsDisplay
2
4
  class FieldComponent < ViewComponent::Base
3
5
  with_collection_parameter :field
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ModsDisplay
2
4
  class ListFieldComponent < ModsDisplay::FieldComponent
3
5
  def initialize(field:, list_html_attributes: {}, list_item_html_attributes: {}, **args)