Class: Assistant::TechnicalSupport::CaseReplay::Result

Inherits:
Data
  • Object
show all
Defined in:
app/services/assistant/technical_support/case_replay/result.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(status:, **attributes) ⇒ Result

Returns a new instance of Result.

Parameters:

  • status (Symbol)

    replay outcome status

  • attributes (Hash)

    optional result fields, merged over RESULT_DEFAULT_ATTRIBUTES

Options Hash (**attributes):

  • support_case_id (Integer, nil)

    replayed SupportCase id

  • case_number (String, nil)

    replayed case number

  • conversation_id (Integer, nil)

    replayed Conversation id

  • episode (Object, nil)

    replay episode

  • assessment (Object, nil)

    replay assessment

  • citation_urls (Array<String>)

    cited source URLs

  • citations_grounded (Boolean)

    whether citations were grounded

  • article_review_proposals (Array)

    review proposals produced

  • evidence_coverage (Array)

    evidence coverage entries

  • evidence_blockers (Array)

    evidence blockers encountered

  • evidence_event_count (Integer)

    number of evidence events

  • evidence_chars (Integer)

    total evidence characters

  • error (String, nil)

    failure detail



52
53
54
# File 'app/services/assistant/technical_support/case_replay/result.rb', line 52

def initialize(status:, **attributes)
  super(status:, **RESULT_DEFAULT_ATTRIBUTES.merge(attributes))
end

Instance Attribute Details

#article_review_proposalsObject (readonly)

Returns the value of attribute article_review_proposals

Returns:

  • (Object)

    the current value of article_review_proposals



21
22
23
# File 'app/services/assistant/technical_support/case_replay/result.rb', line 21

def article_review_proposals
  @article_review_proposals
end

#assessmentObject (readonly)

Returns the value of attribute assessment

Returns:

  • (Object)

    the current value of assessment



21
22
23
# File 'app/services/assistant/technical_support/case_replay/result.rb', line 21

def assessment
  @assessment
end

#case_numberObject (readonly)

Returns the value of attribute case_number

Returns:

  • (Object)

    the current value of case_number



21
22
23
# File 'app/services/assistant/technical_support/case_replay/result.rb', line 21

def case_number
  @case_number
end

#citation_urlsObject (readonly)

Returns the value of attribute citation_urls

Returns:

  • (Object)

    the current value of citation_urls



21
22
23
# File 'app/services/assistant/technical_support/case_replay/result.rb', line 21

def citation_urls
  @citation_urls
end

#citations_groundedObject (readonly)

Returns the value of attribute citations_grounded

Returns:

  • (Object)

    the current value of citations_grounded



21
22
23
# File 'app/services/assistant/technical_support/case_replay/result.rb', line 21

def citations_grounded
  @citations_grounded
end

#conversation_idObject (readonly)

Returns the value of attribute conversation_id

Returns:

  • (Object)

    the current value of conversation_id



21
22
23
# File 'app/services/assistant/technical_support/case_replay/result.rb', line 21

def conversation_id
  @conversation_id
end

#episodeObject (readonly)

Returns the value of attribute episode

Returns:

  • (Object)

    the current value of episode



21
22
23
# File 'app/services/assistant/technical_support/case_replay/result.rb', line 21

def episode
  @episode
end

#errorObject (readonly)

Returns the value of attribute error

Returns:

  • (Object)

    the current value of error



21
22
23
# File 'app/services/assistant/technical_support/case_replay/result.rb', line 21

def error
  @error
end

#evidence_blockersObject (readonly)

Returns the value of attribute evidence_blockers

Returns:

  • (Object)

    the current value of evidence_blockers



21
22
23
# File 'app/services/assistant/technical_support/case_replay/result.rb', line 21

def evidence_blockers
  @evidence_blockers
end

#evidence_charsObject (readonly)

Returns the value of attribute evidence_chars

Returns:

  • (Object)

    the current value of evidence_chars



21
22
23
# File 'app/services/assistant/technical_support/case_replay/result.rb', line 21

def evidence_chars
  @evidence_chars
end

#evidence_coverageObject (readonly)

Returns the value of attribute evidence_coverage

Returns:

  • (Object)

    the current value of evidence_coverage



21
22
23
# File 'app/services/assistant/technical_support/case_replay/result.rb', line 21

def evidence_coverage
  @evidence_coverage
end

#evidence_event_countObject (readonly)

Returns the value of attribute evidence_event_count

Returns:

  • (Object)

    the current value of evidence_event_count



21
22
23
# File 'app/services/assistant/technical_support/case_replay/result.rb', line 21

def evidence_event_count
  @evidence_event_count
end

#statusObject (readonly)

Returns the value of attribute status

Returns:

  • (Object)

    the current value of status



21
22
23
# File 'app/services/assistant/technical_support/case_replay/result.rb', line 21

def status
  @status
end

#support_case_idObject (readonly)

Returns the value of attribute support_case_id

Returns:

  • (Object)

    the current value of support_case_id



21
22
23
# File 'app/services/assistant/technical_support/case_replay/result.rb', line 21

def support_case_id
  @support_case_id
end

Instance Method Details

#evaluated?Boolean

A failed assessment is a completed evaluation; an operational failure
without an assessment and an invalid benchmark are not.

Returns:

  • (Boolean)


62
# File 'app/services/assistant/technical_support/case_replay/result.rb', line 62

def evaluated? = passed? || (failed? && assessment.present?)

#failed?Boolean

Returns:

  • (Boolean)


57
# File 'app/services/assistant/technical_support/case_replay/result.rb', line 57

def failed? = status == 'failed'

#passed?Boolean

Returns:

  • (Boolean)


56
# File 'app/services/assistant/technical_support/case_replay/result.rb', line 56

def passed? = status == 'passed'

#skipped?Boolean

Returns:

  • (Boolean)


58
# File 'app/services/assistant/technical_support/case_replay/result.rb', line 58

def skipped? = status == 'skipped'