Class: FolderGHAProvider

Inherits:
GHAProvider show all
Defined in:
lib/gh-archive.rb

Instance Method Summary collapse

Methods inherited from GHAProvider

#each, #exclude, #include, #logger=, #parse_events, #restore_checkpoint, #update_checkpoint, #use_checkpoint

Methods included from GHAUtils

#each_time, #get_gha_filename, #read_gha_file, #read_gha_file_content

Constructor Details

#initialize(folder) ⇒ FolderGHAProvider

Returns a new instance of FolderGHAProvider.



399
400
401
402
403
# File 'lib/gh-archive.rb', line 399

def initialize(folder)
    super()
    
    @folder = folder
end

Instance Method Details

#get(current_time) ⇒ Object



405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
# File 'lib/gh-archive.rb', line 405

def get(current_time)        
    filename = self.get_gha_filename(current_time)
    complete_filename = File.join(@folder, filename)
    mode = "rb"
    
    unless FileTest.exist?(complete_filename)
        complete_filename = complete_filename.sub(".gz", "")
        mode = "r"
    end
    
    unless FileTest.exist?(complete_filename)
        raise GHAException.new("Cannot find any file (neither `.json.gz` nor `.json`) for #{current_time}")
    end
    
    File.open(complete_filename, mode) do |file|
        return self.read_gha_file(file)
    end
end