Class: Danger::DangerCodeCoverage
- Inherits:
-
Plugin
- Object
- Plugin
- Danger::DangerCodeCoverage
- Defined in:
- lib/code_coverage/plugin.rb
Overview
Generate code coverage reports on pull requests based on jenkins code-coverage-api-plugin.
)
Constant Summary collapse
- EMPTY_COLUMN =
'-'
- TABLE_HEADER_TOTAL =
'**Total**'
- TABLE_HEADER_FILE =
'**File**'
- TABLE_HEADER_METHOD =
'**Method**'
- TABLE_HEADER_LINE =
'**Line**'
- TABLE_HEADER_CONDITIONAL =
'**Conditional**'
- TABLE_HEADER_INSTRUCTION =
'**Instruction**'
- TABLE_TITLE =
'### Code Coverage :100:'
Instance Method Summary collapse
-
#initialize(dangerfile) ⇒ DangerCodeCoverage
constructor
Initialize code_coverage plugin.
-
#report(*args) ⇒ void
Create an overview report.
Constructor Details
#initialize(dangerfile) ⇒ DangerCodeCoverage
Initialize code_coverage plugin.
33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/code_coverage/plugin.rb', line 33 def initialize(dangerfile) @target_files = nil @auth = nil @table = CodeCoverage::MarkdownTable.new @table.header(TABLE_HEADER_FILE, TABLE_HEADER_TOTAL, TABLE_HEADER_METHOD, TABLE_HEADER_LINE, TABLE_HEADER_CONDITIONAL, TABLE_HEADER_INSTRUCTION) super(dangerfile) end |
Instance Method Details
#report(*args) ⇒ void
This method returns an undefined value.
Create an overview report.
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/code_coverage/plugin.rb', line 50 def report(*args) = args.first sort_order = && [:sort] if sort_order && !sort_order.eql?(:ascending) && !sort_order.eql?(:descending) raise(ArgumentError.new('Invalid configuration, use [:ascending, :descending]')) end check_auth() items = coverage_items items.select! { |item| file_in_changeset?(item.file) } items.each(&method(:update_item)) items.sort_by! do |item| if sort_order.eql?(:ascending) item.total else -item.total end end items.each(&method(:add_entry)) return if @table.size.zero? markdown("#{TABLE_TITLE}\n\n#{@table.to_markdown}") end |