class Roqua::CoreApi::CreateDossier

@api private

Public Instance Methods

execute() click to toggle source
# File lib/roqua/core_api/create_dossier.rb, line 11
def execute
  response = session.post "/dossier_groups/#{dossier_group_id}/dossiers",
                          person: attribute_hash(person),
                          dossier: dossier_attributes,
                          credential: attribute_hash(credential)
  if response.code == 422
    errors_to_object(response, person)
    errors_to_object(response, dossier)
    errors_to_object(response, credential)
  end
  Models::Dossier.new(response)
end

Private Instance Methods

attribute_hash(obj) click to toggle source
# File lib/roqua/core_api/create_dossier.rb, line 31
def attribute_hash(obj)
  return {} unless obj
  obj.serializable_hash.keep_if { |_k, v| !v.nil? }
end
dossier_attributes() click to toggle source
# File lib/roqua/core_api/create_dossier.rb, line 26
def dossier_attributes
  return {} unless dossier
  dossier.serializable_hash(except: :people).keep_if { |_k, v| !v.nil? }
end