Sha256: 8d42e01c80a3d9ca37852863f8d0fb0a4c6ffc614e55fab545740125fee547de

Contents?: true

Size: 551 Bytes

Versions: 1

Compression:

Stored size: 551 Bytes

Contents

module Storytime
  class Membership < ActiveRecord::Base
    include Storytime::ScopedToSite
    belongs_to :user, class_name: Storytime.user_class
    belongs_to :storytime_role, class_name: "Storytime::Role"
    belongs_to :site, class_name: "Storytime::Site"

    validates :storytime_role, :user, presence: true
    validates_uniqueness_of :user_id, scope: :site_id

    delegate :storytime_name, to: :user, allow_nil: true

    def self.all_for_user(user)
      unscoped.where(user: user).includes(:site).where.not(site_id: nil)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
storytime-2.0.0 app/models/storytime/membership.rb