• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2021-2022 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6# http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14# frozen_string_literal: true
15
16#
17# Huawei Technologies Co.,Ltd.
18require 'optparse'
19require 'yaml'
20require 'erb'
21
22class UncoveredMd
23  attr_accessor :uncovered
24
25  def initialize(uncovered)
26    @template_file = File.join(__dir__, 'templates', 'uncovered_md.erb')
27    @uncovered = uncovered['groups']
28  end
29
30  def generate(file)
31    File.open(file, 'w+') do |f|
32      f.write(render)
33    end
34  end
35
36  private
37
38  def format_array(i)
39    i.nil? ? '' : i['format'].join(', ').gsub(/_/, '\\_')
40  end
41
42  def props(properties)
43    "[#{md(properties.join(', '))}]"
44  end
45
46  def md(str)
47    str.gsub(/_/, '\\_').gsub(/\n/, ' ').rstrip
48  end
49
50  def render
51    @template = File.read(@template_file)
52    ERB.new(@template, nil, '%-').result(binding)
53  end
54end
55