Skip to content

Commit c02dcfa

Browse files
authored
Merge pull request #5083 from github/ahpook/rubocop-wtf
Fix rubocop freakouts
2 parents a97571f + 00b6570 commit c02dcfa

File tree

2 files changed

+49
-39
lines changed

2 files changed

+49
-39
lines changed

.github/workflows/lint.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ jobs:
1414
runs-on: ubuntu-latest
1515
steps:
1616
- uses: actions/checkout@v6.0.1
17+
with:
18+
ref: ${{ github.event.pull_request.head.ref || github.ref }}
1719

1820
- name: Setup Ruby
1921
uses: ruby/setup-ruby@v1.284.0

test/test_helper.rb

Lines changed: 47 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -273,53 +273,52 @@ def add_message(type, file, line_number, message)
273273
CACHE_FILE = File.expand_path("../.api-cache.json", __dir__)
274274
CACHE_TTL_SECONDS = 24 * 60 * 60 # 24 hours
275275

276+
# rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
276277
def load_api_cache!
277278
return unless File.exist?(CACHE_FILE)
278279

279280
data = JSON.parse(File.read(CACHE_FILE))
280281
now = Time.now.to_i
281282
ttl = CACHE_TTL_SECONDS
282283

283-
if data["repos"]
284-
data["repos"].each do |key, entry|
285-
cached_at = entry["cached_at"]
286-
next unless cached_at
287-
next if now - cached_at.to_i > ttl
288-
289-
result = entry["value"]
290-
# Reconstruct a minimal object that responds to .full_name
291-
cached = if result.nil?
292-
nil
293-
else
294-
next unless result["full_name"]
295-
296-
Struct.new(:full_name).new(result["full_name"])
297-
end
298-
NewOctokit.class_variable_get(:@@repos)[key] = cached
299-
end
284+
data["repos"]&.each do |key, entry|
285+
cached_at = entry["cached_at"]
286+
next unless cached_at
287+
next if now - cached_at.to_i > ttl
288+
289+
result = entry["value"]
290+
# Reconstruct a minimal object that responds to .full_name
291+
cached = if result.nil?
292+
nil
293+
else
294+
next unless result["full_name"]
295+
296+
Struct.new(:full_name).new(result["full_name"])
297+
end
298+
NewOctokit.class_variable_get(:@@repos)[key] = cached
300299
end
301300

302-
if data["users"]
303-
data["users"].each do |key, entry|
304-
cached_at = entry["cached_at"]
305-
next unless cached_at
306-
next if now - cached_at.to_i > ttl
307-
308-
result = entry["value"]
309-
cached = if result.nil?
310-
nil
311-
else
312-
next unless result["login"]
313-
314-
Struct.new(:login).new(result["login"])
315-
end
316-
NewOctokit.class_variable_get(:@@users)[key] = cached
317-
end
301+
data["users"]&.each do |key, entry|
302+
cached_at = entry["cached_at"]
303+
next unless cached_at
304+
next if now - cached_at.to_i > ttl
305+
306+
result = entry["value"]
307+
cached = if result.nil?
308+
nil
309+
else
310+
next unless result["login"]
311+
312+
Struct.new(:login).new(result["login"])
313+
end
314+
NewOctokit.class_variable_get(:@@users)[key] = cached
318315
end
319-
rescue JSON::ParserError, StandardError => e
320-
warn "Failed to load API cache: #{e.message}"
316+
rescue StandardError => error
317+
warn "Failed to load API cache: #{error.message}"
321318
end
319+
# rubocop:enable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
322320

321+
# rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
323322
def save_api_cache!
324323
now = Time.now.to_i
325324
repos_data = {}
@@ -331,7 +330,11 @@ def save_api_cache!
331330

332331
repos_data[key.to_s] = {
333332
"cached_at" => now,
334-
"value" => value.nil? ? nil : { "full_name" => value.respond_to?(:full_name) ? value.full_name : value.to_s },
333+
"value" => if value.nil?
334+
nil
335+
else
336+
{ "full_name" => value.respond_to?(:full_name) ? value.full_name : value.to_s }
337+
end,
335338
}
336339
end
337340

@@ -341,14 +344,19 @@ def save_api_cache!
341344

342345
users_data[key.to_s] = {
343346
"cached_at" => now,
344-
"value" => value.nil? ? nil : { "login" => value.respond_to?(:login) ? value.login : value.to_s },
347+
"value" => if value.nil?
348+
nil
349+
else
350+
{ "login" => value.respond_to?(:login) ? value.login : value.to_s }
351+
end,
345352
}
346353
end
347354

348355
File.write(CACHE_FILE, JSON.pretty_generate({ "repos" => repos_data, "users" => users_data }))
349-
rescue StandardError => e
350-
warn "Failed to save API cache: #{e.message}"
356+
rescue StandardError => error
357+
warn "Failed to save API cache: #{error.message}"
351358
end
359+
# rubocop:enable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
352360

353361
# Load cached API results at startup
354362
load_api_cache!

0 commit comments

Comments
 (0)