Module: Merb::SmsHelper

Includes:
MailerMixin
Defined in:
lib/merb-slice-sms/sms_helper.rb

Defined Under Namespace

Classes: SMSException

Class Method Summary collapse

Class Method Details

.generate_email(number, provider) ⇒ Object



29
30
31
32
33
34
35
# File 'lib/merb-slice-sms/sms_helper.rb', line 29

def self.generate_email(number, provider)
  if $CARRIERS.has_key?(provider.downcase)
    "#{number}#{$CARRIERS[provider.downcase]}"
  else
    raise SMSException.new("Provider, #{provider}, was not found.")
  end
end

.send_sms(number, provider, message, options = {}) ⇒ Object

Raises:



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/merb-slice-sms/sms_helper.rb', line 9

def self.send_sms(number, provider, message, options = {})
  raise SMSException.new("Cannot send blank messages") if message.nil? || message.empty?
  
  options[:from] ||= MerbSliceSms[:from_address]
  options[:limit] ||= message.length
  message = message[0..options[:limit]-1]
  
  number = number.gsub("-","").strip
  raise SMSException.new("Invalid number, must be 10 digits") if number.length != 10
  
  address = generate_email(number, provider)
  
  ::MerbSliceSms::SmsMailer.dispatch_and_deliver(
    :alert,  {
    #:from => options[:from],
    :to => address,
    :html => message
    })
end