Class: Receipt
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Receipt
- Defined in:
- app/models/receipt.rb
Class Method Summary collapse
-
.mark_as_deleted(options = {}) ⇒ Object
Marks the receipt as deleted.
-
.mark_as_not_deleted(options = {}) ⇒ Object
Marks the receipt as not deleted.
-
.mark_as_read(options = {}) ⇒ Object
Marks all the receipts from the relation as read.
-
.mark_as_unread(options = {}) ⇒ Object
Marks all the receipts from the relation as unread.
-
.move_to_inbox(options = {}) ⇒ Object
Moves all the receipts from the relation to inbox.
-
.move_to_sentbox(options = {}) ⇒ Object
Moves all the receipts from the relation to sentbox.
-
.move_to_trash(options = {}) ⇒ Object
Marks all the receipts from the relation as trashed.
-
.untrash(options = {}) ⇒ Object
Marks all the receipts from the relation as not trashed.
-
.update_receipts(updates, options = {}) ⇒ Object
This methods helps to do a update_all with table joins, not currently supported by rails.
Instance Method Summary collapse
-
#conversation ⇒ Object
Returns the conversation associated to the receipt if the notification is a Message.
-
#is_trashed? ⇒ Boolean
Returns if the participant have trashed the message.
-
#is_unread? ⇒ Boolean
Returns if the participant have read the message.
-
#mark_as_deleted ⇒ Object
Marks the receipt as deleted.
-
#mark_as_not_deleted ⇒ Object
Marks the receipt as not deleted.
-
#mark_as_read ⇒ Object
Marks the receipt as read.
-
#mark_as_unread ⇒ Object
Marks the receipt as unread.
-
#move_to_inbox ⇒ Object
Moves the receipt to inbox.
-
#move_to_sentbox ⇒ Object
Moves the receipt to sentbox.
-
#move_to_trash ⇒ Object
Marks the receipt as trashed.
-
#untrash ⇒ Object
Marks the receipt as not trashed.
Class Method Details
.mark_as_deleted(options = {}) ⇒ Object
Marks the receipt as deleted
58 59 60 |
# File 'app/models/receipt.rb', line 58 def mark_as_deleted(={}) update_receipts({:deleted => true}, ) end |
.mark_as_not_deleted(options = {}) ⇒ Object
Marks the receipt as not deleted
63 64 65 |
# File 'app/models/receipt.rb', line 63 def mark_as_not_deleted(={}) update_receipts({:deleted => false}, ) end |
.mark_as_read(options = {}) ⇒ Object
Marks all the receipts from the relation as read
38 39 40 |
# File 'app/models/receipt.rb', line 38 def mark_as_read(={}) update_receipts({:is_read => true}, ) end |
.mark_as_unread(options = {}) ⇒ Object
Marks all the receipts from the relation as unread
43 44 45 |
# File 'app/models/receipt.rb', line 43 def mark_as_unread(={}) update_receipts({:is_read => false}, ) end |
.move_to_inbox(options = {}) ⇒ Object
Moves all the receipts from the relation to inbox
68 69 70 |
# File 'app/models/receipt.rb', line 68 def move_to_inbox(={}) update_receipts({:mailbox_type => :inbox, :trashed => false}, ) end |
.move_to_sentbox(options = {}) ⇒ Object
Moves all the receipts from the relation to sentbox
73 74 75 |
# File 'app/models/receipt.rb', line 73 def move_to_sentbox(={}) update_receipts({:mailbox_type => :sentbox, :trashed => false}, ) end |
.move_to_trash(options = {}) ⇒ Object
Marks all the receipts from the relation as trashed
48 49 50 |
# File 'app/models/receipt.rb', line 48 def move_to_trash(={}) update_receipts({:trashed => true}, ) end |
.untrash(options = {}) ⇒ Object
Marks all the receipts from the relation as not trashed
53 54 55 |
# File 'app/models/receipt.rb', line 53 def untrash(={}) update_receipts({:trashed => false}, ) end |
.update_receipts(updates, options = {}) ⇒ Object
This methods helps to do a update_all with table joins, not currently supported by rails. Acording to the github ticket github.com/rails/rails/issues/522 it should be supported with 3.2.
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
# File 'app/models/receipt.rb', line 80 def update_receipts(updates,={}) ids = Array.new where().each do |rcp| ids << rcp.id end unless ids.empty? conditions = [""].concat(ids) condition = "id = ? " ids.drop(1).each do condition << "OR id = ? " end conditions[0] = condition Receipt.except(:where).except(:joins).where(conditions).update_all(updates) end end |
Instance Method Details
#conversation ⇒ Object
Returns the conversation associated to the receipt if the notification is a Message
139 140 141 |
# File 'app/models/receipt.rb', line 139 def conversation .conversation #if message.is_a? Message end |
#is_trashed? ⇒ Boolean
Returns if the participant have trashed the message
149 150 151 |
# File 'app/models/receipt.rb', line 149 def is_trashed? self.trashed end |
#is_unread? ⇒ Boolean
Returns if the participant have read the message
144 145 146 |
# File 'app/models/receipt.rb', line 144 def is_unread? !self.is_read end |
#mark_as_deleted ⇒ Object
Marks the receipt as deleted
99 100 101 |
# File 'app/models/receipt.rb', line 99 def mark_as_deleted update_attributes(:deleted => true) end |
#mark_as_not_deleted ⇒ Object
Marks the receipt as not deleted
104 105 106 |
# File 'app/models/receipt.rb', line 104 def mark_as_not_deleted update_attributes(:deleted => false) end |
#mark_as_read ⇒ Object
Marks the receipt as read
109 110 111 |
# File 'app/models/receipt.rb', line 109 def mark_as_read update_attributes(:is_read => true) end |
#mark_as_unread ⇒ Object
Marks the receipt as unread
114 115 116 |
# File 'app/models/receipt.rb', line 114 def mark_as_unread update_attributes(:is_read => false) end |
#move_to_inbox ⇒ Object
Moves the receipt to inbox
129 130 131 |
# File 'app/models/receipt.rb', line 129 def move_to_inbox update_attributes(:mailbox_type => :inbox, :trashed => false) end |
#move_to_sentbox ⇒ Object
Moves the receipt to sentbox
134 135 136 |
# File 'app/models/receipt.rb', line 134 def move_to_sentbox update_attributes(:mailbox_type => :sentbox, :trashed => false) end |
#move_to_trash ⇒ Object
Marks the receipt as trashed
119 120 121 |
# File 'app/models/receipt.rb', line 119 def move_to_trash update_attributes(:trashed => true) end |
#untrash ⇒ Object
Marks the receipt as not trashed
124 125 126 |
# File 'app/models/receipt.rb', line 124 def untrash update_attributes(:trashed => false) end |