Module: AffiliatableParent
- Extended by:
- ActiveSupport::Concern
- Included in:
- Space
- Defined in:
- app/models/concerns/affiliatable_parent.rb
Instance Method Summary collapse
Instance Method Details
#add_affiliate(affiliate) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 |
# File 'app/models/concerns/affiliatable_parent.rb', line 14 def add_affiliate(affiliate) # add validation that we're not affiliating to self affiliation = Affiliation.new(parent: self, affiliate: affiliate, status: "accepted") if @@valid_affiliate_types.include?(affiliate.class.to_s.downcase.to_sym) affiliation.save affiliation else affiliation.errors.add :affiliate, ":#{affiliate.class.to_s.downcase} type invalid, must be one of #{@@valid_affiliate_types.inspect}" affiliation end end |
#remove_affiliate(affiliate) ⇒ Object
26 27 28 |
# File 'app/models/concerns/affiliatable_parent.rb', line 26 def remove_affiliate(affiliate) ::Affiliation.destroy_by(parent: self, affiliate: affiliate) end |