Class: FolderGHAProvider

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

Instance Method Summary collapse

Methods inherited from GHAProvider

#each, #exclude, #include, #logger=

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.



256
257
258
259
260
# File 'lib/gh-archive.rb', line 256

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

Instance Method Details

#get(current_time) ⇒ Object



262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
# File 'lib/gh-archive.rb', line 262

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