class REDCap::Form::CheckboxesWithCheckboxesOrOther

Public Instance Methods

value(responses) click to toggle source
# File lib/red_cap/form/fields.rb, line 157
def value responses
  left = selected_options(responses).values

  right = selected_options(responses).keys.map do |key|
    checkbox_fields_for(key).map do |field|
      field.value(responses)
    end
  end

  if selected_options.keys.include?("501")
    right[-1] = [other_text_field("501")&.value(responses)]
  end

  Hash[left.zip(right)]
end

Private Instance Methods

checkbox_fields_for(key) click to toggle source
# File lib/red_cap/form/fields.rb, line 175
def checkbox_fields_for key
  associated_fields_for_key(key).select(&:checkbox?)
end