Sha256: 9a90f1477cc950395c65e36eaefa5b3c3c0562646ef7f82aea9c5204790a3e5e

Contents?: true

Size: 738 Bytes

Versions: 5

Compression:

Stored size: 738 Bytes

Contents

class Dorsale::CustomerVault::Event < ::Dorsale::ApplicationRecord
  self.table_name = :dorsale_customer_vault_events

  ACTIONS = %w(create update comment)

  belongs_to :author,  class_name: User
  belongs_to :person,  class_name: Dorsale::CustomerVault::Person
  belongs_to :comment, class_name: Dorsale::Comment

  validates :author,  presence: true
  validates :person,  presence: true
  validates :action,  presence: true, inclusion: {in: ACTIONS}
  validates :comment, presence: true, if: proc { action == "comment" }

  default_scope -> {
    all
      .order(created_at: :desc, id: :desc)
      .preload(:author, :person, :comment)
  }

  def date
    created_at.try(:to_date)
  end

  def text
    t("text.#{action}")
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
dorsale-3.7.2 app/models/dorsale/customer_vault/event.rb
dorsale-3.7.1 app/models/dorsale/customer_vault/event.rb
dorsale-3.7.0 app/models/dorsale/customer_vault/event.rb
dorsale-3.6.1 app/models/dorsale/customer_vault/event.rb
dorsale-3.6.0 app/models/dorsale/customer_vault/event.rb