Sha256: 7f7fa52359569a1b6a4a1183555b3bcb50ae5ad6b4f5a55c179a6b66675ed0bb

Contents?: true

Size: 710 Bytes

Versions: 3

Compression:

Stored size: 710 Bytes

Contents

module InfinumId
  module Resources
    class Invite
      def initialize(resource_params, current_resource)
        @resource_params = resource_params
        @current_resource = current_resource
      end

      def self.call(resource_params, current_resource)
        new(resource_params, current_resource).call
      end

      def call
        @resource = InfinumId.resource_class.create(@resource_params)

        send_invite_request if @resource.errors.empty?
        @resource
      end

      private

      attr_reader :current_resource, :resource

      def send_invite_request
        InfinumId::Resources::InviteWorker.perform_async(@resource.id, current_resource.uid)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
infinum_id-1.4.2 app/services/infinum_id/resources/invite.rb
infinum_id-1.4.1 app/services/infinum_id/resources/invite.rb
infinum_id-1.4.0 app/services/infinum_id/resources/invite.rb