Class: Coverband::Reporters::JSONReport
- Defined in:
- lib/coverband/reporters/json_report.rb
Constant Summary
Constants inherited from Base
Instance Attribute Summary collapse
-
#as_report ⇒ Object
Returns the value of attribute as_report.
-
#base_path ⇒ Object
Returns the value of attribute base_path.
-
#filename ⇒ Object
Returns the value of attribute filename.
-
#filtered_report_files ⇒ Object
Returns the value of attribute filtered_report_files.
-
#for_merged_report ⇒ Object
Returns the value of attribute for_merged_report.
-
#line_coverage ⇒ Object
Returns the value of attribute line_coverage.
-
#options ⇒ Object
Returns the value of attribute options.
-
#page ⇒ Object
Returns the value of attribute page.
-
#store ⇒ Object
Returns the value of attribute store.
Instance Method Summary collapse
-
#initialize(store, options = {}) ⇒ JSONReport
constructor
A new instance of JSONReport.
- #merge_reports(first_report, second_report, options = {}) ⇒ Object
- #report ⇒ Object
Methods inherited from Base
Constructor Details
#initialize(store, options = {}) ⇒ JSONReport
Returns a new instance of JSONReport.
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/coverband/reporters/json_report.rb', line 11 def initialize(store, = {}) self. = self.page = .fetch(:page) { nil } self.filename = .fetch(:filename) { nil } self.as_report = .fetch(:as_report) { false } self.line_coverage = .fetch(:line_coverage) { false } self.for_merged_report = .fetch(:for_merged_report) { false } self.base_path = .fetch(:base_path) { "./" } self.store = store coverband_reports = Coverband::Reporters::Base.report(store, ) # NOTE: paged reports can't find and add in files that has never been loaded self.filtered_report_files = if page || filename coverband_reports else self.class.fix_reports(coverband_reports) end end |
Instance Attribute Details
#as_report ⇒ Object
Returns the value of attribute as_report.
8 9 10 |
# File 'lib/coverband/reporters/json_report.rb', line 8 def as_report @as_report end |
#base_path ⇒ Object
Returns the value of attribute base_path.
8 9 10 |
# File 'lib/coverband/reporters/json_report.rb', line 8 def base_path @base_path end |
#filename ⇒ Object
Returns the value of attribute filename.
8 9 10 |
# File 'lib/coverband/reporters/json_report.rb', line 8 def filename @filename end |
#filtered_report_files ⇒ Object
Returns the value of attribute filtered_report_files.
8 9 10 |
# File 'lib/coverband/reporters/json_report.rb', line 8 def filtered_report_files @filtered_report_files end |
#for_merged_report ⇒ Object
Returns the value of attribute for_merged_report.
8 9 10 |
# File 'lib/coverband/reporters/json_report.rb', line 8 def for_merged_report @for_merged_report end |
#line_coverage ⇒ Object
Returns the value of attribute line_coverage.
8 9 10 |
# File 'lib/coverband/reporters/json_report.rb', line 8 def line_coverage @line_coverage end |
#options ⇒ Object
Returns the value of attribute options.
8 9 10 |
# File 'lib/coverband/reporters/json_report.rb', line 8 def @options end |
#page ⇒ Object
Returns the value of attribute page.
8 9 10 |
# File 'lib/coverband/reporters/json_report.rb', line 8 def page @page end |
#store ⇒ Object
Returns the value of attribute store.
8 9 10 |
# File 'lib/coverband/reporters/json_report.rb', line 8 def store @store end |
Instance Method Details
#merge_reports(first_report, second_report, options = {}) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/coverband/reporters/json_report.rb', line 34 def merge_reports(first_report, second_report, = {}) merged_data = {} merged_data[Coverband::RUNTIME_TYPE.to_s] = Coverband::Adapters::Base.new.send( :merge_reports, first_report[Coverband::RUNTIME_TYPE.to_s], second_report[Coverband::RUNTIME_TYPE.to_s], {skip_expansion: true} ) if first_report[Coverband::EAGER_TYPE.to_s] && second_report[Coverband::EAGER_TYPE.to_s] merged_data[Coverband::EAGER_TYPE.to_s] = Coverband::Adapters::Base.new.send( :merge_reports, first_report[Coverband::EAGER_TYPE.to_s], second_report[Coverband::EAGER_TYPE.to_s], {skip_expansion: true} ) end if first_report[Coverband::MERGED_TYPE.to_s] && second_report[Coverband::MERGED_TYPE.to_s] merged_data[Coverband::MERGED_TYPE.to_s] = Coverband::Adapters::Base.new.send( :merge_reports, first_report[Coverband::MERGED_TYPE.to_s], second_report[Coverband::MERGED_TYPE.to_s], {skip_expansion: true} ) end merged_data end |
#report ⇒ Object
30 31 32 |
# File 'lib/coverband/reporters/json_report.rb', line 30 def report report_as_json end |