Sha256: d96776dfe9baf4b180a2fa891d3e106e72eb2b06fe5c1f0c9b46540136d50a5a

Contents?: true

Size: 764 Bytes

Versions: 6

Compression:

Stored size: 764 Bytes

Contents

module Roqua
  module CoreApi
    # @api private
    class CreateProfessional < Base
      model :session, class: Sessions::AuthSession
      string :dossier_group_id
      model :person, class: Models::Person
      string :email_subject, default: nil
      string :email_body, default: nil

      def execute
        response = session.post "/dossier_groups/#{dossier_group_id}/people", params
        if response.code == 422
          errors_to_object(response, person)
          person
        else
          Models::Person.new(response['person'])
        end
      end

      def params
        {
          person: person.as_json,
          email_subject: email_subject, email_body: email_body
        }.delete_if { |k, v| v.nil? }
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
roqua-core-api-0.1.1 lib/roqua/core_api/create_professional.rb
roqua-core-api-0.1.0 lib/roqua/core_api/create_professional.rb
roqua-core-api-0.0.39 lib/roqua/core_api/create_professional.rb
roqua-core-api-0.0.38 lib/roqua/core_api/create_professional.rb
roqua-core-api-0.0.37 lib/roqua/core_api/create_professional.rb
roqua-core-api-0.0.36 lib/roqua/core_api/create_professional.rb