mailboxer 0.0.6 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -91,6 +91,10 @@ class MailboxerConversation < ActiveRecord::Base
|
|
91
91
|
return MailboxerMessage.conversation(self).count
|
92
92
|
end
|
93
93
|
|
94
|
+
def is_participant?(participant)
|
95
|
+
return false if participant.nil?
|
96
|
+
return MailboxerMail.conversation(self).receiver(participant).count != 0
|
97
|
+
end
|
94
98
|
# protected
|
95
99
|
# #[empty method]
|
96
100
|
# #
|
@@ -5,9 +5,9 @@ module Mailboxer
|
|
5
5
|
def self.included(mod)
|
6
6
|
mod.extend(ClassMethods)
|
7
7
|
end
|
8
|
-
|
8
|
+
|
9
9
|
module ClassMethods
|
10
|
-
|
10
|
+
|
11
11
|
def acts_as_messageable
|
12
12
|
has_many :mailboxer_messages
|
13
13
|
has_many :mailboxer_mails, :order => 'created_at DESC', :dependent => :delete_all
|
@@ -15,15 +15,15 @@ module Mailboxer
|
|
15
15
|
include Mailboxer::Models::Messageable::InstanceMethods
|
16
16
|
end
|
17
17
|
end
|
18
|
-
|
18
|
+
|
19
19
|
module InstanceMethods
|
20
|
-
|
20
|
+
|
21
21
|
def mailbox
|
22
22
|
@mailbox = MailboxerMailbox.new(self) if @mailbox.nil?
|
23
23
|
@mailbox.type = :all
|
24
24
|
return @mailbox
|
25
25
|
end
|
26
|
-
|
26
|
+
|
27
27
|
def send_message(recipients, msg_body, subject = '')
|
28
28
|
convo = MailboxerConversation.create({:subject => subject})
|
29
29
|
message = MailboxerMessage.create({:sender => self, :mailboxer_conversation => convo, :body => msg_body, :subject => subject})
|
@@ -31,32 +31,27 @@ module Mailboxer
|
|
31
31
|
message.deliver(:inbox)
|
32
32
|
return mailbox[:sentbox] << message
|
33
33
|
end
|
34
|
-
|
34
|
+
|
35
35
|
def reply(conversation, recipients, reply_body, subject = nil)
|
36
36
|
return nil if(reply_body.blank?)
|
37
37
|
subject = subject || "RE: #{conversation.subject}"
|
38
38
|
response = MailboxerMessage.create({:sender => self, :mailboxer_conversation => conversation, :body => reply_body, :subject => subject})
|
39
39
|
response.recipients = recipients.is_a?(Array) ? recipients : [recipients]
|
40
|
+
response.recipients.delete(self)
|
40
41
|
response.deliver(:inbox)
|
41
42
|
return mailbox[:sentbox] << response
|
42
43
|
end
|
43
|
-
|
44
|
+
|
44
45
|
def reply_to_sender(mail, reply_body, subject = nil)
|
45
46
|
return reply(mail.mailboxer_conversation, mail.mailboxer_message.sender, reply_body, subject)
|
46
47
|
end
|
47
|
-
|
48
|
+
|
48
49
|
def reply_to_all(mail, reply_body, subject = nil)
|
49
50
|
msg = mail.mailboxer_message
|
50
51
|
recipients = msg.get_recipients
|
51
|
-
if(msg.sender != self)
|
52
|
-
recipients.delete(self)
|
53
|
-
if(!recipients.include?(msg.sender))
|
54
|
-
recipients << msg.sender
|
55
|
-
end
|
56
|
-
end
|
57
52
|
return reply(mail.mailboxer_conversation, recipients, reply_body, subject)
|
58
53
|
end
|
59
|
-
|
54
|
+
|
60
55
|
def reply_to_conversation(conversation, reply_body, subject = nil)
|
61
56
|
#move conversation to inbox if it is currently in the trash - doesnt make much sense replying to a trashed convo.
|
62
57
|
if(mailbox.is_trashed?(conversation))
|
@@ -80,7 +75,7 @@ module Mailboxer
|
|
80
75
|
def unread_mail(mail)
|
81
76
|
return mail.mark_as_unread if mail.receiver == self
|
82
77
|
end
|
83
|
-
|
78
|
+
|
84
79
|
def read_conversation(conversation, options = {})
|
85
80
|
mails = conversation.mailboxer_mails.receiver(self)
|
86
81
|
mails_clone = mails.clone
|
data/mailboxer.gemspec
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mailboxer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 17
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 7
|
10
|
+
version: 0.0.7
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Eduardo Casanova Cuesta
|