Class: GitlabQuality::TestTooling::Report::IssueLogger
- Inherits:
-
Object
- Object
- GitlabQuality::TestTooling::Report::IssueLogger
- Defined in:
- lib/gitlab_quality/test_tooling/report/issue_logger.rb
Instance Method Summary collapse
- #collect(test, issues) ⇒ Object
-
#initialize(file_path:) ⇒ IssueLogger
constructor
A new instance of IssueLogger.
- #write ⇒ Object
Constructor Details
#initialize(file_path:) ⇒ IssueLogger
Returns a new instance of IssueLogger.
9 10 11 12 |
# File 'lib/gitlab_quality/test_tooling/report/issue_logger.rb', line 9 def initialize(file_path:) @file_path = file_path @data = File.exist?(file_path) ? JSON.parse(File.read(file_path)) : Hash.new { |h, k| h[k] = [] } end |
Instance Method Details
#collect(test, issues) ⇒ Object
14 15 16 17 |
# File 'lib/gitlab_quality/test_tooling/report/issue_logger.rb', line 14 def collect(test, issues) data[test.ci_job_url] += Array(issues).map(&:web_url) data[test.ci_job_url].uniq! end |
#write ⇒ Object
19 20 21 22 23 24 25 |
# File 'lib/gitlab_quality/test_tooling/report/issue_logger.rb', line 19 def write dirname = File.dirname(file_path) FileUtils.mkdir_p(dirname) unless File.directory?(dirname) File.write(file_path, JSON.pretty_generate(data)) end |