Sha256: 9cefb2cb6438177778e0d5a4a7d83ee857b5548782a50161219e4b62b93e967f

Contents?: true

Size: 700 Bytes

Versions: 7

Compression:

Stored size: 700 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::Requests::InviteSender.call(@resource.id, current_resource.uid)
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
infinum_id-2.2.0 app/services/infinum_id/resources/invite.rb
infinum_id-2.1.0 app/services/infinum_id/resources/invite.rb
infinum_id-2.0.1 app/services/infinum_id/resources/invite.rb
infinum_id-2.0.0 app/services/infinum_id/resources/invite.rb
infinum_id-1.6.0 app/services/infinum_id/resources/invite.rb
infinum_id-1.5.1 app/services/infinum_id/resources/invite.rb
infinum_id-1.5.0 app/services/infinum_id/resources/invite.rb