Class: SiteHealth::IssuesReport

Inherits:
Object
  • Object
show all
Defined in:
lib/site_health/issues_report.rb

Instance Method Summary collapse

Constructor Details

#initialize(issues) {|_self| ... } ⇒ IssuesReport

Returns a new instance of IssuesReport.

Yields:

  • (_self)

Yield Parameters:



9
10
11
12
13
14
# File 'lib/site_health/issues_report.rb', line 9

def initialize(issues)
  @issues = issues
  @fields = Issue.fields
  @select_block = proc { true }
  yield(self) if block_given?
end

Instance Method Details

#fields=(fields) ⇒ Object



16
17
18
# File 'lib/site_health/issues_report.rb', line 16

def fields=(fields)
  @fields = fields.map(&:to_sym)
end

#select(&block) ⇒ Object



20
21
22
# File 'lib/site_health/issues_report.rb', line 20

def select(&block)
  @select_block = block
end

#to_aObject



24
25
26
27
28
# File 'lib/site_health/issues_report.rb', line 24

def to_a
  issues = []
  each { |data| issues << data }
  issues
end

#to_csvObject



30
31
32
33
34
35
# File 'lib/site_health/issues_report.rb', line 30

def to_csv
  CSV.generate do |csv|
    csv << @fields
    each { |data| csv << data.values_at(*@fields) }
  end
end

#to_jsonObject



37
38
39
# File 'lib/site_health/issues_report.rb', line 37

def to_json
  JSON.dump(to_a)
end