Module: SimpleMessenger::MessengerAdditions::InstanceMethods

Defined in:
lib/simple_messenger/messenger_additions.rb

Instance Method Summary collapse

Instance Method Details

#build_message(*args) ⇒ Object

Build helper instead of typing User.sent_messages.build



48
49
50
# File 'lib/simple_messenger/messenger_additions.rb', line 48

def build_message(*args)
  sent_messages.build(*args)
end

#create_message(*args) ⇒ Object

Create helper instead of typing User.sent_messages.create



58
59
60
# File 'lib/simple_messenger/messenger_additions.rb', line 58

def create_message(*args)
  sent_messages.create(*args)
end

#create_message!(*args) ⇒ Object

Create! helper instead of typing User.sent_messages.create!



63
64
65
# File 'lib/simple_messenger/messenger_additions.rb', line 63

def create_message!(*args)
  sent_messages.create!(*args)
end

#messages(sender_type: nil, receiver_type: nil) ⇒ Object



24
25
26
27
28
29
# File 'lib/simple_messenger/messenger_additions.rb', line 24

def messages(sender_type: nil, receiver_type: nil)
  msgs = Message.all_for(self)
  msgs = msgs.where(sender_type: sender_type.to_s.camelize) if sender_type
  msgs = msgs.where(receiver_type: receiver_type.to_s.camelize) if receiver_type
  msgs
end

#messages_with(other_messenger) ⇒ Object



35
36
37
# File 'lib/simple_messenger/messenger_additions.rb', line 35

def messages_with(other_messenger)
  Message.between([self, other_messenger])
end

#new_message(*args) ⇒ Object

New helper instead of typing User.sent_messages.new



53
54
55
# File 'lib/simple_messenger/messenger_additions.rb', line 53

def new_message(*args)
  sent_messages.new(*args)
end

#new_messagesObject



31
32
33
# File 'lib/simple_messenger/messenger_additions.rb', line 31

def new_messages
  received_messages.unviewed
end

#received_messages_from(messenger) ⇒ Object



39
40
41
# File 'lib/simple_messenger/messenger_additions.rb', line 39

def received_messages_from(messenger)
  self.messages_with(messenger).where(receiver: self)
end

#sent_messages_to(messenger) ⇒ Object



43
44
45
# File 'lib/simple_messenger/messenger_additions.rb', line 43

def sent_messages_to(messenger)
  self.messages_with(messenger).where(sender: self)
end