Class: GemXray::Report

Inherits:
Object
  • Object
show all
Defined in:
lib/gemxray/report.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(version:, ruby_version:, rails_version:, scanned_at:, results:) ⇒ Report

Returns a new instance of Report.



7
8
9
10
11
12
13
# File 'lib/gemxray/report.rb', line 7

def initialize(version:, ruby_version:, rails_version:, scanned_at:, results:)
  @version = version
  @ruby_version = ruby_version
  @rails_version = rails_version
  @scanned_at = scanned_at
  @results = results
end

Instance Attribute Details

#rails_versionObject (readonly)

Returns the value of attribute rails_version.



5
6
7
# File 'lib/gemxray/report.rb', line 5

def rails_version
  @rails_version
end

#resultsObject (readonly)

Returns the value of attribute results.



5
6
7
# File 'lib/gemxray/report.rb', line 5

def results
  @results
end

#ruby_versionObject (readonly)

Returns the value of attribute ruby_version.



5
6
7
# File 'lib/gemxray/report.rb', line 5

def ruby_version
  @ruby_version
end

#scanned_atObject (readonly)

Returns the value of attribute scanned_at.



5
6
7
# File 'lib/gemxray/report.rb', line 5

def scanned_at
  @scanned_at
end

#versionObject (readonly)

Returns the value of attribute version.



5
6
7
# File 'lib/gemxray/report.rb', line 5

def version
  @version
end

Instance Method Details

#summaryObject



15
16
17
18
19
20
21
22
# File 'lib/gemxray/report.rb', line 15

def summary
  {
    total: results.length,
    danger: results.count { |result| result.severity == :danger },
    warning: results.count { |result| result.severity == :warning },
    info: results.count { |result| result.severity == :info }
  }
end

#to_hObject



24
25
26
27
28
29
30
31
32
33
# File 'lib/gemxray/report.rb', line 24

def to_h
  {
    version: version,
    ruby_version: ruby_version,
    rails_version: rails_version,
    scanned_at: scanned_at,
    results: results.map(&:to_h),
    summary: summary
  }
end