RSDComparableSurveyRule

public protocol RSDComparableSurveyRule : RSDComparable, RSDSurveyRule

RSDComparableSurveyRule is a survey rule that matches an expected result to the answer and vends a skip identifier if the match is evaluated to true.

  • Optional skip identifier for this rule. If available, this will be used as the skip identifier, otherwise the skipToIdentifier will be assumed to be RSDIdentifier.exit unless the cohort is not nil.

    Declaration

    Swift

    var skipToIdentifier: String? { get }
  • Optional cohort to assign if the rule matches. If non-nil, then the evaluateRule() function will return the skipToIdentifier and will not assume exit if the skipToIdentifier is nil.

    Declaration

    Swift

    var cohort: String? { get }
  • The rule operator to apply. If nil, .equal will be assumed unless the matchingAnswer is also nil, in which case .skip will be assumed.

    Declaration

    Swift

    var ruleOperator: RSDSurveyRuleOperator? { get }
  • evaluateRule(with:) Extension method

    For a given result (if any), what is the step that the survey should go to next?

    For the RSDComparableSurveyRule, this will evaluate the result using the ruleOperator and the matchingAnswer and return the skipIdentifier if the rule evaluates to true.

    Declaration

    Swift

    public func evaluateRule(with result: RSDResult?) -> String?

    Parameters

    results

    The result to evaluate.

    Return Value

    The identifier to skip to if the result evaluates to true.

  • evaluateCohorts(with:) Extension method

    For a given result (if any), what is the step that the survey should go to next?

    For the RSDComparableSurveyRule, this will evaluate the result using the ruleOperator and the matchingAnswer and return the cohort to add if the rule evaluates to true or the cohort to remove if the rule evaluates to false.

    Declaration

    Swift

    public func evaluateCohorts(with result: RSDResult?) -> (add: Set<String>, remove: Set<String>)?

    Parameters

    results

    The result to evaluate.

    Return Value

    The cohorts to add and remove.