Class: SmsNotification
- Inherits:
-
Notification
- Object
- Notification
- SmsNotification
- Defined in:
- lib/app/models/sms_notification.rb
Overview
SmsNotification is a concrete class of Notification, sending sms to both members and users, or in the case of eCommerce, customers.
This object allows you to create an SmsNotification object, set it’s property and tell it send_notification. It’ll handle everything from there including
-
Running in the background thread
-
Error recovery
-
Retry on failure
The SMS object also uses the templating engine to allow the specification of a template and a set of local variables for dynamic content.
Usage:
sms = SmsNotification.new sms.to = ‘5713326267’ sms.message = ‘Day is today!’ sms.send_notification
You are done! Go about your business of creating awesome software!
Constant Summary
Constants inherited from Notification
Notification::ALL_STATES, Notification::DELIVERY_EMAIL, Notification::DELIVERY_SLACK, Notification::DELIVERY_SMS, Notification::STATE_INVALID, Notification::STATE_NEW, Notification::STATE_PROCESSED, Notification::STATE_PROCESSING, Notification::STATE_RESUBMITTED, Notification::STATE_RETRYING, Notification::STATE_SUBMITTED, Notification::STATE_VIEWED
Instance Method Summary collapse
- #deliver_message! ⇒ Object
-
#delivery_channel ⇒ Object
set the delivery channel for the templates.
Methods inherited from Notification
#account_message_template, #default_message_template, #deletable?, #deliver_message, #finish_processing, #from_template, #message_from_haml_file, #message_from_haml_text, #message_from_liquid_text, #message_from_template, #name, #render_liquid_text, #retry_delivery, #send_notification, #sendable?, #start_processing, #stringify_all, #successful?, #viewed
Methods included from StandardModel
#audit_action, #auto_strip_attributes, #capture_user_info, #clear_cache, #created_by_display_name, #delete_and_log, #destroy_and_log, included, #last_modified_by_display_name, #log_change, #log_deletion, #remove_blank_secure_fields, #save_and_log, #save_and_log!, #secure_fields, #update, #update!, #update_and_log, #update_and_log!
Methods included from App47Logger
clean_params, #clean_params, delete_parameter_keys, #log_controller_error, log_debug, #log_debug, log_error, #log_error, log_exception, #log_message, log_message, #log_warn, log_warn, mask_parameter_keys, #update_flash_messages
Instance Method Details
#deliver_message! ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/app/models/sms_notification.rb', line 31 def return unless SystemConfiguration.twilio_configured? config = SystemConfiguration.configuration account_sid = config.twilio_account_id auth_token = config.twilio_auth_token client = Twilio::REST::Client.new account_sid, auth_token = client.account..create( body: , to: to, from: config.twilio_phone_number ) # We are saved in the calling class, no reason to save again set sid: .sid end |
#delivery_channel ⇒ Object
set the delivery channel for the templates
51 52 53 |
# File 'lib/app/models/sms_notification.rb', line 51 def delivery_channel DELIVERY_SMS end |