class CriterionAlertDecorator

Public Instance Methods

alerts() click to toggle source
# File lib/aptible/rails/decorators/criterion_alert_decorator.rb, line 2
def alerts
  return [] if object.status == 'green'
  send "#{object.handle}_alerts"
end
all_apps() click to toggle source
# File lib/aptible/rails/decorators/criterion_alert_decorator.rb, line 58
def all_apps
  context[:apps]
end
all_users() click to toggle source
# File lib/aptible/rails/decorators/criterion_alert_decorator.rb, line 54
def all_users
  context[:users]
end
app_security_interview_alerts() click to toggle source
# File lib/aptible/rails/decorators/criterion_alert_decorator.rb, line 21
def app_security_interview_alerts
  all_apps.map do |app|
    next [] if completed_apps.any? { |href| href == app.href }
    app_path = Aptible::Security::Engine.routes.url_helpers
               .app_path(id: app.id)
    [Alert.new(subject: app.handle, subject_href: app_path,
               requirement: 'needs an App Security Interview',
               cta: 'Complete App Security Interview')]
  end
end
completed_apps() click to toggle source
# File lib/aptible/rails/decorators/criterion_alert_decorator.rb, line 46
def completed_apps
  valid_documents.map { |d| d.links['app'].href }.uniq
end
completed_users() click to toggle source
# File lib/aptible/rails/decorators/criterion_alert_decorator.rb, line 42
def completed_users
  valid_documents.map { |d| d.links['user'].href }.uniq
end
method_missing(method) click to toggle source
# File lib/aptible/rails/decorators/criterion_alert_decorator.rb, line 62
def method_missing(method)
  return [] if method.to_s =~ /_alerts/
end
policy_manual_alerts() click to toggle source
# File lib/aptible/rails/decorators/criterion_alert_decorator.rb, line 14
def policy_manual_alerts
  policy_url = Compliance::Application.routes.url_helpers.aptible_policy_path

  [Alert.new(subject: 'Policy Manual', requirement: 'needs to be completed',
             subject_href: policy_url, cta: 'Complete Policy Manual')]
end
risk_assessment_alerts() click to toggle source
# File lib/aptible/rails/decorators/criterion_alert_decorator.rb, line 7
def risk_assessment_alerts
  risk_url = Compliance::Application.routes.url_helpers.aptible_risk_path

  [Alert.new(subject: 'Risk Assessment', requirement: 'needs to be completed',
             subject_href: risk_url, cta: 'Complete Risk Assessment')]
end
training_log_alerts() click to toggle source
# File lib/aptible/rails/decorators/criterion_alert_decorator.rb, line 32
def training_log_alerts
  all_users.map do |user|
    next [] if completed_users.any? { |href| href == user.href }
    user_path = Aptible::Training::Engine.routes.url_helpers.root_path
    [Alert.new(subject: user.name, subject_href: user_path,
               requirement: 'needs Basic HIPAA Training',
               cta: 'Complete Training')]
  end
end
valid_documents() click to toggle source
# File lib/aptible/rails/decorators/criterion_alert_decorator.rb, line 50
def valid_documents
  object.documents.select { |d| d.expires_at.nil? || d.expires_at > Time.now }
end