Skip to content

Commit

Permalink
Merge pull request #460 from sul-dlss/rubocop
Browse files Browse the repository at this point in the history
Add new rubocops and autocorrect
  • Loading branch information
cbeer authored Jun 14, 2024
2 parents de3cfeb + f983d8e commit 77e9496
Show file tree
Hide file tree
Showing 8 changed files with 339 additions and 63 deletions.
276 changes: 276 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -153,3 +153,279 @@ Rails/WhereExists: # (new in 2.7)
Enabled: true
Rails/WhereNot: # (new in 2.8)
Enabled: true
Gemspec/DeprecatedAttributeAssignment: # new in 1.30
Enabled: true
Gemspec/DevelopmentDependencies: # new in 1.44
Enabled: true
Gemspec/RequireMFA: # new in 1.23
Enabled: true
Layout/LineContinuationLeadingSpace: # new in 1.31
Enabled: true
Layout/LineContinuationSpacing: # new in 1.31
Enabled: true
Layout/LineEndStringConcatenationIndentation: # new in 1.18
Enabled: true
Lint/AmbiguousOperatorPrecedence: # new in 1.21
Enabled: true
Lint/AmbiguousRange: # new in 1.19
Enabled: true
Lint/ConstantOverwrittenInRescue: # new in 1.31
Enabled: true
Lint/DeprecatedConstants: # new in 1.8
Enabled: true
Lint/DuplicateMagicComment: # new in 1.37
Enabled: true
Lint/DuplicateMatchPattern: # new in 1.50
Enabled: true
Lint/EmptyInPattern: # new in 1.16
Enabled: true
Lint/IncompatibleIoSelectWithFiberScheduler: # new in 1.21
Enabled: true
Lint/LambdaWithoutLiteralBlock: # new in 1.8
Enabled: true
Lint/NonAtomicFileOperation: # new in 1.31
Enabled: true
Lint/NumberedParameterAssignment: # new in 1.9
Enabled: true
Lint/OrAssignmentToConstant: # new in 1.9
Enabled: true
Lint/RedundantDirGlobSort: # new in 1.8
Enabled: true
Lint/RefinementImportMethods: # new in 1.27
Enabled: true
Lint/RequireRangeParentheses: # new in 1.32
Enabled: true
Lint/RequireRelativeSelfPath: # new in 1.22
Enabled: true
Lint/SymbolConversion: # new in 1.9
Enabled: true
Lint/TripleQuotes: # new in 1.9
Enabled: true
Lint/UselessRescue: # new in 1.43
Enabled: true
Lint/UselessRuby2Keywords: # new in 1.23
Enabled: true
Metrics/CollectionLiteralLength: # new in 1.47
Enabled: true
Naming/BlockForwarding: # new in 1.24
Enabled: true
Security/CompoundHash: # new in 1.28
Enabled: true
Security/IoMethods: # new in 1.22
Enabled: true
Style/ArrayIntersect: # new in 1.40
Enabled: true
Style/ComparableClamp: # new in 1.44
Enabled: true
Style/ConcatArrayLiterals: # new in 1.41
Enabled: true
Style/DataInheritance: # new in 1.49
Enabled: true
Style/DirEmpty: # new in 1.48
Enabled: true
Style/EmptyHeredoc: # new in 1.32
Enabled: true
Style/EndlessMethod: # new in 1.8
Enabled: true
Style/EnvHome: # new in 1.29
Enabled: true
Style/FetchEnvVar: # new in 1.28
Enabled: true
Style/FileEmpty: # new in 1.48
Enabled: true
Style/FileRead: # new in 1.24
Enabled: true
Style/FileWrite: # new in 1.24
Enabled: true
Style/HashConversion: # new in 1.10
Enabled: true
Style/IfWithBooleanLiteralBranches: # new in 1.9
Enabled: true
Style/InPatternThen: # new in 1.16
Enabled: true
Style/MagicCommentFormat: # new in 1.35
Enabled: true
Style/MapCompactWithConditionalBlock: # new in 1.30
Enabled: true
Style/MapToHash: # new in 1.24
Enabled: true
Style/MapToSet: # new in 1.42
Enabled: true
Style/MinMaxComparison: # new in 1.42
Enabled: true
Style/MultilineInPatternThen: # new in 1.16
Enabled: true
Style/NestedFileDirname: # new in 1.26
Enabled: true
Style/NumberedParameters: # new in 1.22
Enabled: true
Style/NumberedParametersLimit: # new in 1.22
Enabled: true
Style/ObjectThen: # new in 1.28
Enabled: true
Style/OpenStructUse: # new in 1.23
Enabled: true
Style/OperatorMethodCall: # new in 1.37
Enabled: true
Style/QuotedSymbols: # new in 1.16
Enabled: true
Style/RedundantConstantBase: # new in 1.40
Enabled: true
Style/RedundantDoubleSplatHashBraces: # new in 1.41
Enabled: true
Style/RedundantEach: # new in 1.38
Enabled: true
Style/RedundantHeredocDelimiterQuotes: # new in 1.45
Enabled: true
Style/RedundantInitialize: # new in 1.27
Enabled: true
Style/RedundantLineContinuation: # new in 1.49
Enabled: true
Style/RedundantSelfAssignmentBranch: # new in 1.19
Enabled: true
Style/RedundantStringEscape: # new in 1.37
Enabled: true
Style/SelectByRegexp: # new in 1.22
Enabled: true
Style/StringChars: # new in 1.12
Enabled: true
Rails/ActionControllerFlashBeforeRender: # new in 2.16
Enabled: true
Rails/ActionControllerTestCase: # new in 2.14
Enabled: true
Rails/ActionOrder: # new in 2.17
Enabled: true
Rails/ActiveSupportOnLoad: # new in 2.16
Enabled: true
Rails/AddColumnIndex: # new in 2.11
Enabled: true
Rails/CompactBlank: # new in 2.13
Enabled: true
Rails/DeprecatedActiveModelErrorsMethods: # new in 2.14
Enabled: true
Rails/DotSeparatedKeys: # new in 2.15
Enabled: true
Rails/DuplicateAssociation: # new in 2.14
Enabled: true
Rails/DuplicateScope: # new in 2.14
Enabled: true
Rails/DurationArithmetic: # new in 2.13
Enabled: true
Rails/EagerEvaluationLogMessage: # new in 2.11
Enabled: true
Rails/ExpandedDateRange: # new in 2.11
Enabled: true
Rails/FreezeTime: # new in 2.16
Enabled: true
Rails/I18nLazyLookup: # new in 2.14
Enabled: true
Rails/I18nLocaleAssignment: # new in 2.11
Enabled: true
Rails/I18nLocaleTexts: # new in 2.14
Enabled: true
Rails/IgnoredColumnsAssignment: # new in 2.17
Enabled: true
Rails/MigrationClassName: # new in 2.14
Enabled: true
Rails/RedundantPresenceValidationOnBelongsTo: # new in 2.13
Enabled: true
Rails/RedundantTravelBack: # new in 2.12
Enabled: true
Rails/ResponseParsedBody: # new in 2.18
Enabled: true
Rails/RootJoinChain: # new in 2.13
Enabled: true
Rails/RootPathnameMethods: # new in 2.16
Enabled: true
Rails/RootPublicPath: # new in 2.15
Enabled: true
Rails/StripHeredoc: # new in 2.15
Enabled: true
Rails/ThreeStateBooleanColumn: # new in 2.19
Enabled: true
Rails/TimeZoneAssignment: # new in 2.10
Enabled: true
Rails/ToFormattedS: # new in 2.15
Enabled: true
Rails/ToSWithArgument: # new in 2.16
Enabled: true
Rails/TopLevelHashWithIndifferentAccess: # new in 2.16
Enabled: true
Rails/TransactionExitStatement: # new in 2.14
Enabled: true
Rails/UnusedIgnoredColumns: # new in 2.11
Enabled: true
Rails/WhereMissing: # new in 2.16
Enabled: true
Rails/WhereNotWithMultipleConditions: # new in 2.17
Enabled: true
Capybara/MatchStyle: # new in 2.17
Enabled: true
Capybara/NegationMatcher: # new in 2.14
Enabled: true
Capybara/SpecificActions: # new in 2.14
Enabled: true
Capybara/SpecificFinders: # new in 2.13
Enabled: true
Capybara/SpecificMatcher: # new in 2.12
Enabled: true
RSpec/BeEmpty: # new in 2.20
Enabled: true
RSpec/BeEq: # new in 2.9.0
Enabled: true
RSpec/BeNil: # new in 2.9.0
Enabled: true
RSpec/ChangeByZero: # new in 2.11
Enabled: true
RSpec/ContainExactly: # new in 2.19
Enabled: true
RSpec/DuplicatedMetadata: # new in 2.16
Enabled: true
RSpec/ExcessiveDocstringSpacing: # new in 2.5
Enabled: true
RSpec/IdenticalEqualityAssertion: # new in 2.4
Enabled: true
RSpec/IndexedLet: # new in 2.20
Enabled: true
RSpec/MatchArray: # new in 2.19
Enabled: true
RSpec/NoExpectationExample: # new in 2.13
Enabled: true
RSpec/PendingWithoutReason: # new in 2.16
Enabled: true
RSpec/RedundantAround: # new in 2.19
Enabled: true
RSpec/SkipBlockInsideExample: # new in 2.19
Enabled: true
RSpec/SortMetadata: # new in 2.14
Enabled: true
RSpec/SubjectDeclaration: # new in 2.5
Enabled: true
RSpec/VerifiedDoubleReference: # new in 2.10.0
Enabled: true
RSpec/FactoryBot/ConsistentParenthesesStyle: # new in 2.14
Enabled: true
RSpec/FactoryBot/FactoryNameStyle: # new in 2.16
Enabled: true
RSpec/FactoryBot/SyntaxMethods: # new in 2.7
Enabled: true
RSpec/Rails/AvoidSetupHook: # new in 2.4
Enabled: true
RSpec/Rails/HaveHttpStatus: # new in 2.12
Enabled: true
RSpec/Rails/InferredSpecType: # new in 2.14
Enabled: true
RSpec/Rails/MinitestAssertions: # new in 2.17
Enabled: true
RSpec/Rails/TravelAround: # new in 2.19
Enabled: true
Performance/ConcurrentMonotonicTime: # new in 1.12
Enabled: true
Performance/MapCompact: # new in 1.11
Enabled: true
Performance/RedundantEqualityComparisonBlock: # new in 1.10
Enabled: true
Performance/RedundantSplitRegexpArgument: # new in 1.10
Enabled: true
Performance/StringIdentifierArgument: # new in 1.13
Enabled: true
2 changes: 1 addition & 1 deletion app/jobs/garbage_collect_job.rb
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ def response
params: {
q: 'resource_id:druid',
fl: 'druid,timestamp',
fq: "timestamp:[* TO #{(Time.zone.now - 3.days).utc.iso8601}]",
fq: "timestamp:[* TO #{3.days.ago.utc.iso8601}]",
rows: 100
}
)
Expand Down
2 changes: 1 addition & 1 deletion app/models/concerns/locking.rb
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ def with_simple_lock(id)
yield(true)
end

File.delete(lock_file) if File.exist?(lock_file)
FileUtils.rm_f(lock_file)

resp
end
Expand Down
32 changes: 16 additions & 16 deletions app/models/iiif_content_search_response.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ def initialize(search, controller)

def as_json(*_args)
{
"@context": [
'@context': [
'http://iiif.io/api/presentation/2/context.json',
'http://iiif.io/api/search/1/context.json'
],
"@id": request.original_url,
"@type": 'sc:AnnotationList',
"resources": resources.flat_map(&:annotations).uniq { |a| a[:'@id'] },
"hits": hits
'@id': request.original_url,
'@type': 'sc:AnnotationList',
resources: resources.flat_map(&:annotations).uniq { |a| a[:@id] },
hits: hits
}.merge(pagination_as_json)
end

Expand Down Expand Up @@ -82,10 +82,10 @@ def hits
resources.uniq(&:annotation_urls).map do |hit|
{
'@type': 'search:Hit',
'annotations': hit.annotation_urls,
'before': hit.before,
'after': hit.after,
'match': hit.match
annotations: hit.annotation_urls,
before: hit.before,
after: hit.after,
match: hit.match
}
end
end
Expand All @@ -104,14 +104,14 @@ def initialize(id, highlight)
def annotations
tokens.map do |(chars, xywh)|
{
"@id": annotation_url([chars, xywh]),
"@type": 'oa:Annotation',
"motivation": 'sc:painting',
"resource": {
"@type": 'cnt:ContentAsText',
"chars": chars
'@id': annotation_url([chars, xywh]),
'@type': 'oa:Annotation',
motivation: 'sc:painting',
resource: {
'@type': 'cnt:ContentAsText',
chars: chars
},
"on": canvas_fragment_url(xywh)
on: canvas_fragment_url(xywh)
}
end
end
Expand Down
4 changes: 2 additions & 2 deletions spec/controllers/search_controller_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
it 'executes a search and transforms it into a content search response' do
get :search, params: { id: 'x', q: 'y', motivation: 'painting' }

data = JSON.parse(response.body)
data = response.parsed_body

expect(data).to include '@context' => ['http://iiif.io/api/presentation/2/context.json',
'http://iiif.io/api/search/1/context.json'],
Expand All @@ -46,7 +46,7 @@
it 'includes resources for every hit' do
get :search, params: { id: 'x', q: 'y' }

data = JSON.parse(response.body)
data = response.parsed_body

expect(data['resources']).to include '@id' => 'https://purl.stanford.edu/x/iiif/canvas/y/text/at/0,0,0,0',
'@type' => 'oa:Annotation',
Expand Down
4 changes: 2 additions & 2 deletions spec/lib/full_text_indexer_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@

describe '#alto?' do
it 'checks if the content looks like ALTO xml' do
expect(indexer.alto?).to eq true
expect(indexer.alto?).to be true
end
end

Expand All @@ -52,7 +52,7 @@

describe '#alto?' do
it 'checks if the content looks like ALTO xml' do
expect(indexer.alto?).to eq false
expect(indexer.alto?).to be false
end
end
end
Expand Down
Loading

0 comments on commit 77e9496

Please sign in to comment.