Sha256: 04af95d4927c772a71d141ca25c6a868da38c187b14ca9a82cdcafd649e6dd8a

Contents?: true

Size: 574 Bytes

Versions: 8

Compression:

Stored size: 574 Bytes

Contents

# frozen_string_literal: true

module Thredded
  class MessageboardGroup < ActiveRecord::Base
    has_many :messageboards,
             inverse_of: :group,
             foreign_key: :messageboard_group_id,
             dependent: :nullify

    scope :ordered, -> { order(position: :asc, id: :asc) }
    validates :name,
              presence: true,
              uniqueness: { case_sensitive: false }
    validates :position, presence: true, on: :update
    before_save :ensure_position

    def ensure_position
      self.position ||= Time.zone.now.to_i
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
thredded-1.1.0 app/models/thredded/messageboard_group.rb
thredded-1.0.1 app/models/thredded/messageboard_group.rb
thredded-1.0.0 app/models/thredded/messageboard_group.rb
thredded-0.16.16 app/models/thredded/messageboard_group.rb
thredded-0.16.15 app/models/thredded/messageboard_group.rb
thredded-0.16.14 app/models/thredded/messageboard_group.rb
thredded-0.16.13 app/models/thredded/messageboard_group.rb
thredded-0.16.12 app/models/thredded/messageboard_group.rb