Class: GHAProvider
Instance Method Summary
collapse
Methods included from GHAUtils
#each_date, #get_gha_filename, #read_gha_file, #read_gha_file_content
Constructor Details
Returns a new instance of GHAProvider.
43
44
45
46
47
48
|
# File 'lib/gh-archive.rb', line 43
def initialize
@logger = Logger.new(STDOUT)
@includes = {}
@excludes = {}
end
|
Instance Method Details
#each(from = Time.gm(2015, 1, 1), to = Time.now) ⇒ Object
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
# File 'lib/gh-archive.rb', line 72
def each(from = Time.gm(2015, 1, 1), to = Time.now)
self.each_date(from, to) do |current_date|
events = []
begin
events = self.get(current_date)
@logger.info("Scanned #{current_date}")
rescue
@logger.error($!)
next
end
events.each do |event|
skip = false
@includes.each do |key, value|
skip = true unless value.include?(event[key])
end
@excludes.each do |key, value|
skip = true if value.include?(event[key])
end
next if skip
yield event
end
events.clear
GC.start
end
end
|
#exclude(**args) ⇒ Object
65
66
67
68
69
70
|
# File 'lib/gh-archive.rb', line 65
def exclude(**args)
args.each do |key, value|
@excludes[key.to_s] = [] unless @excludes[key.to_s]
@excludes[key.to_s] << value
end
end
|
#get(date) ⇒ Object
54
55
56
|
# File 'lib/gh-archive.rb', line 54
def get(date)
raise "Not implemented"
end
|
#include(**args) ⇒ Object
58
59
60
61
62
63
|
# File 'lib/gh-archive.rb', line 58
def include(**args)
args.each do |key, value|
@includes[key.to_s] = [] unless @includes[key.to_s]
@includes[key.to_s] << value
end
end
|
#logger=(logger) ⇒ Object
50
51
52
|
# File 'lib/gh-archive.rb', line 50
def logger=(logger)
@logger = logger
end
|