Class: GHArchive::FolderProvider

Inherits:
Provider
  • Object
show all
Defined in:
lib/gh-archive/providers.rb

Direct Known Subclasses

FolderGHAProvider

Instance Method Summary collapse

Methods inherited from Provider

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

Methods included from Utils

#each_time, #get_gha_filename, #read_gha_file, #read_gha_file_content

Constructor Details

#initialize(folder) ⇒ FolderProvider

Returns a new instance of FolderProvider.



301
302
303
304
305
# File 'lib/gh-archive/providers.rb', line 301

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

Instance Method Details

#get(current_time) ⇒ Object



307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
# File 'lib/gh-archive/providers.rb', line 307

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