Class: Tolliver::Services::Methods::Sms

Inherits:
Object
  • Object
show all
Defined in:
lib/tolliver/services/methods/sms.rb,
lib/tolliver/services/methods/sms/plivo.rb

Defined Under Namespace

Classes: Plivo

Instance Method Summary collapse

Instance Method Details

#deliver(notification_receiver) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/tolliver/services/methods/sms.rb', line 31

def deliver(notification_receiver)
  return false if provider.nil?

  # Prepare notification
  notification = notification_receiver.notification_delivery.notification

  # Send SMS
  begin
    provider.deliver(notification, notification_receiver)
    notification_receiver.status = 'sent'
  rescue StandardError => e
    notification_receiver.status = 'error'
    notification_receiver.error_message = e.message
  end

  # Mark as sent
  notification_receiver.sent_at = Time.current

  # Save
  notification_receiver.save

  true
end

#is_notification_delivery_valid?(_) ⇒ Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/tolliver/services/methods/sms.rb', line 22

def is_notification_delivery_valid?(_)
  true
end

#is_notification_receiver_valid?(notification_receiver) ⇒ Boolean

Returns:

  • (Boolean)


26
27
28
29
# File 'lib/tolliver/services/methods/sms.rb', line 26

def is_notification_receiver_valid?(notification_receiver)
  return false if notification_receiver.receiver_phone.blank?
  true
end

#is_notification_valid?(notification) ⇒ Boolean

Returns:

  • (Boolean)


17
18
19
20
# File 'lib/tolliver/services/methods/sms.rb', line 17

def is_notification_valid?(notification)
  return false if notification.short_message.blank?
  true
end