Sha256: ef068ed613f64fa3a64ef9cd0faf2b9925a6d75df36353c5c554d86cedb581a1
Contents?: true
Size: 1.14 KB
Versions: 85
Compression:
Stored size: 1.14 KB
Contents
class Scaffolding::AbsolutelyAbstract::CreativeConcept < ApplicationRecord # 🚅 add concerns above. belongs_to :team # 🚅 add belongs_to associations above. has_many :completely_concrete_tangible_things, class_name: "Scaffolding::CompletelyConcrete::TangibleThing", foreign_key: :absolutely_abstract_creative_concept_id, dependent: :destroy has_many :collaborators, class_name: "Scaffolding::AbsolutelyAbstract::CreativeConcepts::Collaborator", dependent: :destroy, foreign_key: :creative_concept_id has_many :memberships, through: :collaborators # 🚅 add has_many associations above. # 🚅 add oauth providers above. # 🚅 add has_one associations above. # 🚅 add scopes above. validates :name, presence: true # 🚅 add validations above. # 🚅 add callbacks above. # 🚅 add delegations above. def admins collaborators.admins.map(&:membership) end def editors collaborators.editors.map(&:membership) end def viewers collaborators.viewers.map(&:membership) end def all_collaborators team.admins.or(Membership.where(id: memberships.pluck(:id))) end # 🚅 add methods above. end
Version data entries
85 entries across 85 versions & 2 rubygems