Module Professionalnerd::SimplePrivateMessages::HasPrivateMessagesExtensions::ActMethods
In: lib/professionalnerd/simple_private_messages/has_private_messages_extensions.rb

Methods

Included Modules

InstanceMethods

Public Instance methods

Sets up a model have private messages, defining the child class as specified in :class_name (typically "Messages"). Provided the following instance messages:

  • sent_messages - returns a collection of messages for which this object is the sender.
  • received_messages - returns a collection of messages for which this object is the recipient.

[Source]

    # File lib/professionalnerd/simple_private_messages/has_private_messages_extensions.rb, line 13
13:         def has_private_messages(options = {})
14:           options[:class_name] ||= 'Message'
15:           
16:           unless included_modules.include? InstanceMethods
17:             class_inheritable_accessor :options
18:             has_many :sent_messages,
19:                      :class_name => options[:class_name],
20:                      :foreign_key => 'sender_id',
21:                      :order => "created_at DESC",
22:                      :conditions => ["sender_deleted = ?", false]
23: 
24:             has_many :received_messages,
25:                      :class_name => options[:class_name],
26:                      :foreign_key => 'recipient_id',
27:                      :order => "created_at DESC",
28:                      :conditions => ["recipient_deleted = ?", false]
29: 
30:             extend ClassMethods 
31:             include InstanceMethods 
32:           end 
33:           self.options = options
34:         end

[Validate]