@@ -270,10 +270,10 @@ def add_message(type, file, line_number, message)
270270 client . messages << "::#{ type } file=#{ file } ,line=#{ line_number } ::#{ message } "
271271end
272272
273- CACHE_FILE = File . expand_path ( "../.api-cache.json" , File . dirname ( __FILE__ ) )
273+ CACHE_FILE = File . expand_path ( "../.api-cache.json" , __dir__ )
274274CACHE_TTL_SECONDS = 24 * 60 * 60 # 24 hours
275275
276- def self . load_api_cache!
276+ def load_api_cache!
277277 return unless File . exist? ( CACHE_FILE )
278278
279279 data = JSON . parse ( File . read ( CACHE_FILE ) )
@@ -282,13 +282,17 @@ def self.load_api_cache!
282282
283283 if data [ "repos" ]
284284 data [ "repos" ] . each do |key , entry |
285- next if now - entry [ "cached_at" ] . to_i > ttl
285+ cached_at = entry [ "cached_at" ]
286+ next unless cached_at
287+ next if now - cached_at . to_i > ttl
286288
287289 result = entry [ "value" ]
288290 # Reconstruct a minimal object that responds to .full_name
289291 cached = if result . nil?
290292 nil
291293 else
294+ next unless result [ "full_name" ]
295+
292296 Struct . new ( :full_name ) . new ( result [ "full_name" ] )
293297 end
294298 NewOctokit . class_variable_get ( :@@repos ) [ key ] = cached
@@ -297,12 +301,16 @@ def self.load_api_cache!
297301
298302 if data [ "users" ]
299303 data [ "users" ] . each do |key , entry |
300- next if now - entry [ "cached_at" ] . to_i > ttl
304+ cached_at = entry [ "cached_at" ]
305+ next unless cached_at
306+ next if now - cached_at . to_i > ttl
301307
302308 result = entry [ "value" ]
303309 cached = if result . nil?
304310 nil
305311 else
312+ next unless result [ "login" ]
313+
306314 Struct . new ( :login ) . new ( result [ "login" ] )
307315 end
308316 NewOctokit . class_variable_get ( :@@users ) [ key ] = cached
@@ -312,13 +320,14 @@ def self.load_api_cache!
312320 warn "Failed to load API cache: #{ e . message } "
313321end
314322
315- def self . save_api_cache!
323+ def save_api_cache!
316324 now = Time . now . to_i
317325 repos_data = { }
318326 users_data = { }
319327
320328 NewOctokit . class_variable_get ( :@@repos ) . each do |key , value |
321329 next if key == :skip_requests
330+ next if value == true
322331
323332 repos_data [ key . to_s ] = {
324333 "cached_at" => now ,
@@ -328,6 +337,7 @@ def self.save_api_cache!
328337
329338 NewOctokit . class_variable_get ( :@@users ) . each do |key , value |
330339 next if key == :skip_requests
340+ next if value == true
331341
332342 users_data [ key . to_s ] = {
333343 "cached_at" => now ,
0 commit comments