Sha256: 0a8aa50d5e4552806386c2c831d42c61abbc1d5a2113596c77bbf97535be516c
Contents?: true
Size: 1.28 KB
Versions: 1
Compression:
Stored size: 1.28 KB
Contents
require 'active_support/concern' module SocialStream module Models # Additional features for models that are actors module Actor extend ActiveSupport::Concern included do belongs_to :actor, :validate => true, :autosave => true delegate :name, :name=, :email, :email=, :permalink, :permalink=, :disabled, :disabled=, :ties, :sent_ties, :received_ties, :contacts, :suggestion, :wall, :to => :actor! after_create :initialize_default_ties end module InstanceMethods def actor! actor || build_actor end private def initialize_default_ties self.class.relations.where(:default => true).each do |r| Tie.create! :sender => self.actor, :receiver => self.actor, :relation => r end end end module ClassMethods # Relations defined for this actor model. def relations(to = to_s) Relation.mode(to_s, to) end def with_received_ties joins(:actor => :received_ties) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
social_stream-0.0.2 | lib/social_stream/models/actor.rb |