@@ -282,53 +282,52 @@ def add_message(type, file, line_number, message)
282282CACHE_FILE = File . expand_path ( "../.api-cache.json" , __dir__ )
283283CACHE_TTL_SECONDS = 24 * 60 * 60 # 24 hours
284284
285+ # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
285286def load_api_cache!
286287 return unless File . exist? ( CACHE_FILE )
287288
288289 data = JSON . parse ( File . read ( CACHE_FILE ) )
289290 now = Time . now . to_i
290291 ttl = CACHE_TTL_SECONDS
291292
292- if data [ "repos" ]
293- data [ "repos" ] . each do |key , entry |
294- cached_at = entry [ "cached_at" ]
295- next unless cached_at
296- next if now - cached_at . to_i > ttl
297-
298- result = entry [ "value" ]
299- # Reconstruct a minimal object that responds to .full_name
300- cached = if result . nil?
301- nil
302- else
303- next unless result [ "full_name" ]
304-
305- Struct . new ( :full_name ) . new ( result [ "full_name" ] )
306- end
307- NewOctokit . class_variable_get ( :@@repos ) [ key ] = cached
308- end
293+ data [ "repos" ] &.each do |key , entry |
294+ cached_at = entry [ "cached_at" ]
295+ next unless cached_at
296+ next if now - cached_at . to_i > ttl
297+
298+ result = entry [ "value" ]
299+ # Reconstruct a minimal object that responds to .full_name
300+ cached = if result . nil?
301+ nil
302+ else
303+ next unless result [ "full_name" ]
304+
305+ Struct . new ( :full_name ) . new ( result [ "full_name" ] )
306+ end
307+ NewOctokit . class_variable_get ( :@@repos ) [ key ] = cached
309308 end
310309
311- if data [ "users" ]
312- data [ "users" ] . each do |key , entry |
313- cached_at = entry [ "cached_at" ]
314- next unless cached_at
315- next if now - cached_at . to_i > ttl
316-
317- result = entry [ "value" ]
318- cached = if result . nil?
319- nil
320- else
321- next unless result [ "login" ]
322-
323- Struct . new ( :login ) . new ( result [ "login" ] )
324- end
325- NewOctokit . class_variable_get ( :@@users ) [ key ] = cached
326- end
310+ data [ "users" ] &.each do |key , entry |
311+ cached_at = entry [ "cached_at" ]
312+ next unless cached_at
313+ next if now - cached_at . to_i > ttl
314+
315+ result = entry [ "value" ]
316+ cached = if result . nil?
317+ nil
318+ else
319+ next unless result [ "login" ]
320+
321+ Struct . new ( :login ) . new ( result [ "login" ] )
322+ end
323+ NewOctokit . class_variable_get ( :@@users ) [ key ] = cached
327324 end
328- rescue JSON :: ParserError , StandardError => e
329- warn "Failed to load API cache: #{ e . message } "
325+ rescue StandardError => error
326+ warn "Failed to load API cache: #{ error . message } "
330327end
328+ # rubocop:enable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
331329
330+ # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
332331def save_api_cache!
333332 now = Time . now . to_i
334333 repos_data = { }
@@ -340,7 +339,11 @@ def save_api_cache!
340339
341340 repos_data [ key . to_s ] = {
342341 "cached_at" => now ,
343- "value" => value . nil? ? nil : { "full_name" => value . respond_to? ( :full_name ) ? value . full_name : value . to_s } ,
342+ "value" => if value . nil?
343+ nil
344+ else
345+ { "full_name" => value . respond_to? ( :full_name ) ? value . full_name : value . to_s }
346+ end ,
344347 }
345348 end
346349
@@ -350,14 +353,19 @@ def save_api_cache!
350353
351354 users_data [ key . to_s ] = {
352355 "cached_at" => now ,
353- "value" => value . nil? ? nil : { "login" => value . respond_to? ( :login ) ? value . login : value . to_s } ,
356+ "value" => if value . nil?
357+ nil
358+ else
359+ { "login" => value . respond_to? ( :login ) ? value . login : value . to_s }
360+ end ,
354361 }
355362 end
356363
357364 File . write ( CACHE_FILE , JSON . pretty_generate ( { "repos" => repos_data , "users" => users_data } ) )
358- rescue StandardError => e
359- warn "Failed to save API cache: #{ e . message } "
365+ rescue StandardError => error
366+ warn "Failed to save API cache: #{ error . message } "
360367end
368+ # rubocop:enable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
361369
362370# Load cached API results at startup
363371load_api_cache!
0 commit comments