Class: MessageRequest

Inherits:
ActiveRecord::Base
  • Object
show all
Includes:
Statesman::Adapters::ActiveRecordQueries
Defined in:
app/models/message_request.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.send_messagesObject



60
61
62
63
64
65
66
# File 'app/models/message_request.rb', line 60

def self.send_messages
  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



52
53
54
55
56
57
58
# File 'app/models/message_request.rb', line 52

def save_message_body(options = {})
  options = {
    receiver: receiver,
    locale: receiver.profile.locale
  }.merge(options)
  update_attributes!({body: message_template.embed_body(options)})
end

#send_messageObject



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'app/models/message_request.rb', line 26

def send_message
  message = nil
  MessageRequest.transaction do
    message = Message.new
    message.sender = sender
    message.recipient  = receiver.username
    message.subject = subject
    message.body = body
    message.body = 'test'
    message.save!
    self.sent_at = Time.zone.now
    save(validate: false)
    if ['reservation_expired_for_patron', 'reservation_expired_for_patron'].include?(message_template.status)
      self.receiver.reserves.each do |reserve|
        reserve.expiration_notice_to_patron = true
        reserve.save(validate: false)
      end
    end
  end
  return message
end

#state_machineObject



19
20
21
# File 'app/models/message_request.rb', line 19

def state_machine
  @state_machine ||= MessageRequestStateMachine.new(self, transition_class: MessageRequestTransition)
end

#subjectObject



48
49
50
# File 'app/models/message_request.rb', line 48

def subject
  message_template.title
end