Sha256: b46815afebbde8d3c66ee5c8fc26f4e6e78e67fcfc2ace7bfae48352e6d0634e
Contents?: true
Size: 1.29 KB
Versions: 2
Compression:
Stored size: 1.29 KB
Contents
require "aasm" module PolicyManager class PortabilityRequest < ApplicationRecord belongs_to :user, class_name: Config.user_resource.to_s, foreign_key: :user_id if PolicyManager::Config.paperclip include PolicyManager::Concerns::PaperclipBehavior else include PolicyManager::Concerns::ActiveStorageBehavior end include AASM aasm column: :state do state :pending, :initial => true, :after_enter => :notify_progress_to_admin state :progress, :after_enter => :handle_progress state :completed, :after_enter => :notify_completeness event :confirm do transitions from: :pending, to: :progress end event :complete do transitions from: :progress, to: :completed end end def user_email self.user.email end def handle_progress notify_progress perform_job end def perform_job ExporterJob.set(queue: :default).perform_later(self.user.id) end def notify_progress PortabilityMailer.progress_notification(self.id).deliver_now end def notify_progress_to_admin PortabilityMailer.admin_notification(self.user.id).deliver_now end def notify_completeness PortabilityMailer.completed_notification(self.id).deliver_now end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
gdpr_rails-0.5.1 | app/models/policy_manager/portability_request.rb |
gdpr_rails-0.5.0 | app/models/policy_manager/portability_request.rb |