18F/identity-idp

View on GitHub
app/forms/idv/how_to_verify_form.rb

Summary

Maintainability
A
0 mins
Test Coverage
# frozen_string_literal: true

module Idv
  class HowToVerifyForm
    include ActiveModel::Model

    REMOTE = 'remote'
    IPP = 'ipp'

    attr_reader :selection

    validates :selection, presence: {
      message: proc { I18n.t('errors.doc_auth.how_to_verify_form') },
    }
    validates :selection, inclusion: {
      in: [REMOTE, IPP],
      message: proc { I18n.t('errors.doc_auth.how_to_verify_form') },
    }

    def initialize(selection: nil)
      @selection = selection
    end

    def submit(params)
      @selection = params[:selection]

      FormResponse.new(success: valid?, errors: errors)
    end
  end
end