Fix `Lint/NonLocalExitFromIterator` cop in JSON-LD helper (#34948)

pull/35570/head
Matt Jankowski 4 months ago committed by GitHub
parent f1b9868980
commit c587c44975
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -6,10 +6,6 @@
# Note that changes in the inspected code, or installation of new
# versions of RuboCop, may require this file to be generated again.
Lint/NonLocalExitFromIterator:
Exclude:
- 'app/helpers/json_ld_helper.rb'
# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
Metrics/AbcSize:
Max: 82

@ -134,7 +134,7 @@ module JsonLdHelper
patch_for_forwarding!(value, compacted_value)
elsif value.is_a?(Array)
compacted_value = [compacted_value] unless compacted_value.is_a?(Array)
return if value.size != compacted_value.size
return nil if value.size != compacted_value.size
compacted[key] = value.zip(compacted_value).map do |v, vc|
if v.is_a?(Hash) && vc.is_a?(Hash)

@ -180,6 +180,14 @@ RSpec.describe JsonLdHelper do
expect(compacted.dig('object', 'tag', 0, 'href')).to eq ['foo']
expect(safe_for_forwarding?(json, compacted)).to be true
end
context 'when array size mismatch exists' do
subject { helper.patch_for_forwarding!(json, alternate) }
let(:alternate) { json.merge('to' => %w(one two three)) }
it { is_expected.to be_nil }
end
end
describe 'safe_for_forwarding?' do

Loading…
Cancel
Save