Guest User

Untitled

a guest
Jan 16th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.97 KB | None | 0 0
  1. class Message
  2. include Mongoid::Document
  3. include Mongoid::Timestamps::Created
  4.  
  5. #fields
  6. field :subject, :type => String
  7. field :body, :type => String
  8. field :place, :type => String
  9. field :has_been_read, :type => String
  10.  
  11. # Relationships
  12. belongs_to :sender, :class_name => 'User', :inverse_of => :messages_sent
  13. belongs_to :receiver, :class_name => 'User', :inverse_of => :messages_received
  14.  
  15. #state machine has been read message?
  16. state_machine :has_been_read, :initial => :unread do
  17. event :read_message do
  18. transition :from => :unread, :to => :read
  19. end
  20. event :mark_unread do
  21. transition :from => :read, :to => :unread
  22. end
  23. end
  24. #state machine status can be in_box, sent, draft, trash, spam
  25. end
  26.  
  27. class User
  28. include Mongoid::Document
  29. include Mongoid::Timestamps::Created
  30. .
  31. .
  32. .
  33. has_many :messages_sent, :class_name => 'Message', :inverse_of => :sender
  34. has_many :messages_received, :class_name => 'Message', :inverse_of => :receiver
  35. .
  36. .
  37. .
  38. end
Add Comment
Please, Sign In to add comment