Sha256: 673e5ba6551a86fbfad7d4bb11e93fda5429a499d2a68792b329c6ebbd93e7ae

Contents?: true

Size: 648 Bytes

Versions: 1

Compression:

Stored size: 648 Bytes

Contents

module Guts
  # Group model
  class Group < ActiveRecord::Base
    extend FriendlyId
    include TrackableConcern

    validates :title, presence: true, length: { minimum: 3 }

    has_many :user_groups
    has_many :users, through: :user_groups
    has_many :media, as: :filable, dependent: :destroy
    has_many :metafields, as: :fieldable, dependent: :destroy
    has_many :tracks, as: :object

    friendly_id :title, use: [:slugged, :finders]
    trackable :create, :update, :destroy, fields: [:title]

    # Updates slug if title changes
    # @return [Boolean]
    def should_generate_new_friendly_id?
      title_changed?
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
guts-1.3.6 app/models/guts/group.rb