Sha256: 7b357f71d8197e554a0d6b417d2c5421e20e5e2a99938a1aae5dd6c88054db31

Contents?: true

Size: 517 Bytes

Versions: 3

Compression:

Stored size: 517 Bytes

Contents

require "aasm"

module PolicyManager
  class UserTerm < ApplicationRecord
    include AASM
    
    belongs_to :user, class_name: Config.user_resource.to_s
    belongs_to :term

    validates_uniqueness_of :term_id, :scope => :user_id

    aasm :column => :state do
      state :rejected, :initial => true
      state :accepted

      event :accept do
        transitions from: :rejected, to: :accepted
      end

      event :reject do
        transitions from: :accepted, to: :rejected
      end
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
gdpr_rails-0.3.0 app/models/policy_manager/user_term.rb
gdpr_rails-0.2.4 app/models/policy_manager/user_term.rb
gdpr_rails-0.2.2 app/models/policy_manager/user_term.rb