You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.0 KiB
35 lines
1.0 KiB
class Form::Sales::Questions::PersonGenderIdentity < ::Form::Question |
|
def initialize(id, hsh, page, person_index:) |
|
super(id, hsh, page) |
|
@type = "radio" |
|
@copy_key = "sales.household_characteristics.sex2.person" if person_index == 2 |
|
@answer_options = ANSWER_OPTIONS |
|
@check_answers_card_number = person_index |
|
@inferred_check_answers_value = [{ |
|
"condition" => { |
|
id => "R", |
|
}, |
|
"value" => "Prefers not to say", |
|
}] |
|
@person_index = person_index |
|
@question_number = question_number |
|
end |
|
|
|
ANSWER_OPTIONS = { |
|
"F" => { "value" => "Female" }, |
|
"M" => { "value" => "Male" }, |
|
"X" => { "value" => "Non-binary" }, |
|
"R" => { "value" => "Person prefers not to say" }, |
|
}.freeze |
|
|
|
def question_number |
|
base_question_number = case form.start_date.year |
|
when 2023 |
|
30 |
|
else |
|
32 |
|
end |
|
|
|
base_question_number + (4 * @person_index) |
|
end |
|
end
|
|
|