Sha256: 5bd243a6cfa3fb348508539bda1102b8032d7fd35389c6cc6397ed72df124ab4

Contents?: true

Size: 787 Bytes

Versions: 8

Compression:

Stored size: 787 Bytes

Contents

module Roqua
  module CoreApi
    # @api private
    class SendInviteEmail < ActiveInteraction::Base
      object :session, class: Sessions::AuthSession
      string :dossier_id, default: nil
      string :person_id, default: nil
      string :email_subject, default: nil
      string :email_body, default: nil

      validates :person_id, presence: true, unless: :dossier_id?

      def execute
        session.post url, params
      end

      private

      def url
        if person_id
          "/people/#{person_id}/send_invite_email"
        else
          "/dossiers/#{dossier_id}/send_invite_email"
        end
      end

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

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
roqua-core-api-0.5.0 lib/roqua/core_api/send_invite_email.rb
roqua-core-api-0.4.0 lib/roqua/core_api/send_invite_email.rb
roqua-core-api-0.3.1 lib/roqua/core_api/send_invite_email.rb
roqua-core-api-0.3.0 lib/roqua/core_api/send_invite_email.rb
roqua-core-api-0.2.4 lib/roqua/core_api/send_invite_email.rb
roqua-core-api-0.2.3 lib/roqua/core_api/send_invite_email.rb
roqua-core-api-0.2.2 lib/roqua/core_api/send_invite_email.rb
roqua-core-api-0.2.1 lib/roqua/core_api/send_invite_email.rb