Module ProtonMicro::RestfulEasyMessages::Messages::ClassMethods
In: lib/restful_easy_emails_system.rb

Methods

Included Modules

ProtonMicro::RestfulEasyMessages::Messages::InstanceMethods

Public Instance methods

[Source]

    # File lib/restful_easy_emails_system.rb, line 11
11:         def restful_easy_emails(options = {})
12:         
13:           has_many :emails_as_sender,    
14:                    :class_name => "Message", 
15:                    :foreign_key => "sender_id"
16:           
17:           has_many :emails_as_receiver,  
18:                    :class_name => "Message", 
19:                    :foreign_key => "receiver_id"
20:           
21:           has_many :users_who_emailed_me, 
22:                    :through => :emails_as_receiver, 
23:                    :source => :sender,
24:                    :select => "users.*, emails.id AS email_id, emails.subject, emails.body, emails.created_at AS sent_at, emails.read_at"
25: 
26:           has_many :users_whom_i_have_emailed,
27:                    :through => :emails_as_sender,
28:                    :source => :receiver,
29:                    :select => "users.*, emails.id AS email_id, emails.subject, emails.body, emails.created_at AS sent_at, emails.read_at"
30: 
31:           has_many :unread_emails,
32:                    :through => :emails_as_receiver,
33:                    :source => :sender,
34:                    :conditions => "emails.read_at IS NULL",
35:                    :select => "users.*, emails.id AS email_id, emails.subject, emails.body, emails.created_at AS sent_at, emails.read_at"
36:           
37:           has_many :read_emails,
38:                    :through => :emails_as_receiver,
39:                    :source => :sender,
40:                    :conditions => "emails.read_at IS NOT NULL",
41:                    :select => "users.*, emails.id AS email_id, emails.subject, emails.body, emails.created_at AS sent_at, emails.read_at"
42:                    
43:           has_many :inbox_emails,  
44:                    :class_name => "Message", 
45:                    :foreign_key => "receiver_id",
46:                    :conditions => "receiver_deleted IS NULL",
47:                    :order => "created_at DESC"
48:                    
49:           has_many :outbox_emails,  
50:                    :class_name => "Message", 
51:                    :foreign_key => "sender_id",
52:                    :conditions => "sender_deleted IS NULL",
53:                    :order => "created_at DESC"
54:                    
55:           has_many :trashbin_emails,  
56:                    :class_name => "Message", 
57:                    :foreign_key => "receiver_id",
58:                    :conditions => "receiver_deleted = true and receiver_purged IS NULL",
59:                    :order => "created_at DESC"
60: 
61:           include ProtonMicro::RestfulEasyMessages::Messages::InstanceMethods
62:         end

[Validate]