class SynapsePayRest::VirtualDocument
Represents virtual documents that can be added to a base document.
@see docs.synapsepay.com/docs/user-resources#section-virtual-document-types
virtual document types
Attributes
question_set[R]
@!attribute [r] question_set
@return [SynapsePayRest::Array<SynapsePayRest::Question>] questions/answer choices returned when document status is MFA|PENDING
Public Class Methods
from_response(data)
click to toggle source
@note Do not call this method directly.
Calls superclass method
SynapsePayRest::Document::from_response
# File lib/synapse_pay_rest/models/user/virtual_document.rb, line 13 def from_response(data) virtual_doc = super(data) virtual_doc.add_question_set(data['meta']['question_set']) if data['status'] == 'SUBMITTED|MFA_PENDING' virtual_doc end
new(**options)
click to toggle source
@note It should not be necessary to call this method directly.
Calls superclass method
SynapsePayRest::Document::new
# File lib/synapse_pay_rest/models/user/virtual_document.rb, line 21 def initialize(**options) super(**options) end
Public Instance Methods
add_question_set(question_set_data)
click to toggle source
Maps question set from response to Question
objects.
@deprecated
# File lib/synapse_pay_rest/models/user/virtual_document.rb, line 42 def add_question_set(question_set_data) questions = question_set_data['questions'].map do |question_info| # re-map question/answer hash structure answers = {} question_info['answers'].each do |answer_hash| answers[answer_hash['id']] = answer_hash['answer'] end Question.new( id: question_info['id'], question: question_info['question'], answers: answers ) end @question_set = questions end
submit_kba()
click to toggle source
Submits the question/answer selections to the API to attempt to verify the virtual document.
@return [SynapsePayRest::VirtualDocument] (self)
@deprecated
# File lib/synapse_pay_rest/models/user/virtual_document.rb, line 31 def submit_kba user = base_document.user response = user.client.users.update(user_id: user.id, payload: payload_for_kba) user = User.from_response(user.client, response) base_doc = user.base_documents.find { |doc| doc.id == base_document.id } ssn_doc = base_doc.virtual_documents.find { |doc| doc.id == id } end
Private Instance Methods
payload_for_kba()
click to toggle source
@deprecated
# File lib/synapse_pay_rest/models/user/virtual_document.rb, line 63 def payload_for_kba { 'documents' => [{ 'id' => base_document.id, 'virtual_docs' => [{ 'id' => id, 'meta' => { 'question_set' => { 'answers' => question_set.map(&:to_hash) } } }] }] } end