Sha256: 6ab65bac16046d33688c4f6538b63a1333faa52220922f1685c7ac997cb1711a

Contents?: true

Size: 537 Bytes

Versions: 13

Compression:

Stored size: 537 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: true
    validates :position, presence: true, on: :update
    before_save :ensure_position, on: :create

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

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
thredded-0.12.1 app/models/thredded/messageboard_group.rb
thredded-0.12.0 app/models/thredded/messageboard_group.rb
thredded-0.11.1 app/models/thredded/messageboard_group.rb
thredded-0.11.0 app/models/thredded/messageboard_group.rb
thredded-0.10.1 app/models/thredded/messageboard_group.rb
thredded-0.10.0 app/models/thredded/messageboard_group.rb
thredded-0.9.4 app/models/thredded/messageboard_group.rb
thredded-0.9.3 app/models/thredded/messageboard_group.rb
thredded-0.9.2 app/models/thredded/messageboard_group.rb
thredded-0.9.1 app/models/thredded/messageboard_group.rb
thredded-0.8.4 app/models/thredded/messageboard_group.rb
thredded-0.8.2 app/models/thredded/messageboard_group.rb
thredded-0.7.0 app/models/thredded/messageboard_group.rb