Sha256: a2b8aa394c5be6fec1a79015aff183aa1a08d542b6c07a8ca7f7927cad68866c
Contents?: true
Size: 889 Bytes
Versions: 3
Compression:
Stored size: 889 Bytes
Contents
module PagesCore class InviteService include Rails.application.routes.url_helpers attr_reader :attributes, :user, :host, :protocol def initialize(attributes, user:, host:, protocol: "http") @attributes = attributes @user = user @host = host @protocol = protocol end class << self def call(*attrs) new(*attrs).call end end def call Invite.transaction do invite = user.invites.create(attributes) if invite.valid? deliver_invite(invite) invite.update(sent_at: Time.now.utc) end invite end end private def deliver_invite(invite) AdminMailer.invite( invite, admin_invite_with_token_url(invite, invite.token, host: host, protocol: protocol) ).deliver_later end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
pages_core-3.6.2 | app/services/pages_core/invite_service.rb |
pages_core-3.6.1 | app/services/pages_core/invite_service.rb |
pages_core-3.6.0 | app/services/pages_core/invite_service.rb |