Class: HostReport

Inherits:
ApplicationRecord
  • Object
show all
Includes:
Authorizable, ScopedSearchExtensions
Defined in:
app/models/host_report.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.search_by_keyword(_key, operator, value) ⇒ Object



51
52
53
54
55
56
57
# File 'app/models/host_report.rb', line 51

def self.search_by_keyword(_key, operator, value)
  conditions = sanitize_sql_for_conditions(["report_keywords.name #{operator} ?", value_to_sql(operator, value)])
  keyword_ids = ReportKeyword.where(conditions).distinct.pluck(:id)
  {
    conditions: sanitize_sql_for_conditions(["host_reports.report_keyword_ids @> ?", "{#{keyword_ids.join(',')}}"]),
  }
end

Instance Method Details

#report_keywordsObject



47
48
49
# File 'app/models/host_report.rb', line 47

def report_keywords
  ReportKeyword.where(id: report_keyword_ids)
end

#statusObject



59
60
61
62
63
64
65
66
67
68
69
# File 'app/models/host_report.rb', line 59

def status
  if failure&.positive?
    :failure
  elsif change&.positive?
    :change
  elsif nochange&.positive?
    :nochange
  else
    :empty
  end
end