Class: MessageRequest
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- MessageRequest
- Includes:
- Statesman::Adapters::ActiveRecordQueries
- Defined in:
- app/models/message_request.rb
Class Method Summary collapse
Instance Method Summary collapse
- #save_message_body(options = {}) ⇒ Object
- #send_message ⇒ Object
- #state_machine ⇒ Object
- #subject ⇒ Object
Class Method Details
.send_messages ⇒ Object
58 59 60 61 62 63 64 |
# File 'app/models/message_request.rb', line 58 def self. count = MessageRequest.not_sent.size MessageRequest.not_sent.each do |request| request.transition_to!(:sent) end logger.info "#{Time.zone.now} sent #{count} messages!" end |
Instance Method Details
#save_message_body(options = {}) ⇒ Object
50 51 52 53 54 55 56 |
# File 'app/models/message_request.rb', line 50 def ( = {}) = { receiver: receiver, locale: receiver.profile.locale }.merge() update!({body: .()}) end |
#send_message ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'app/models/message_request.rb', line 25 def = nil MessageRequest.transaction do = Message.create!( sender: sender, recipient: receiver.username, subject: subject, body: body, message_request: self ) update!(sent_at: Time.zone.now) if ['reservation_expired_for_patron', 'reservation_expired_for_patron'].include?(.status) self.receiver.reserves.each do |reserve| reserve.expiration_notice_to_patron = true reserve.save(validate: false) end end end return end |
#state_machine ⇒ Object
18 19 20 |
# File 'app/models/message_request.rb', line 18 def state_machine @state_machine ||= MessageRequestStateMachine.new(self, transition_class: MessageRequestTransition) end |
#subject ⇒ Object
46 47 48 |
# File 'app/models/message_request.rb', line 46 def subject .title end |