| Module | Professionalnerd::SimplePrivateMessages::HasPrivateMessagesExtensions::ActMethods |
| In: |
lib/professionalnerd/simple_private_messages/has_private_messages_extensions.rb
|
Sets up a model have private messages, defining the child class as specified in :class_name (typically "Messages"). Provided the following instance messages:
# 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