Class: ActiveSms::ConnectionAdapters::BulkSmsAdapter
- Inherits:
-
AbstractAdapter
- Object
- AbstractAdapter
- ActiveSms::ConnectionAdapters::BulkSmsAdapter
- Defined in:
- lib/activesms/connection_adapters/bulk_sms_adapter.rb
Constant Summary collapse
- SERVICE_HOSTS =
{ :international => 'bulksms.vsms.net', :safrica => 'bulksms.2way.co.za', :spoin => 'bulksms.com.es', :uk => 'www.bulksms.co.uk', :usa => 'usa.bulksms.com' }
- SERVICE_PORT =
5567
- SERVICE_PATH =
'/eapi/submission/send_sms/2/2.0'
- STATUS_MESSAGES =
{ 0 => 'in progress', 1 => 'scheduled', 22 => 'internal fatal error', 23 => 'authentication failure', 24 => 'data validation failed', 25 => 'insufficient credits', 26 => 'upstream credits not available', 27 => 'daily quota exceeded', 28 => 'upstream quota exceeded', 40 => 'temporarily unavailable' }
Instance Attribute Summary
Attributes inherited from AbstractAdapter
Instance Method Summary collapse
-
#adpter_name ⇒ Object
Return the human readable name of the connection adapter name.
- #deliver(sms) ⇒ Object
-
#initialize(logger = nil, config = {}) ⇒ BulkSmsAdapter
constructor
Create an adapter for the BulkSMS gateway.
Methods inherited from AbstractAdapter
Constructor Details
#initialize(logger = nil, config = {}) ⇒ BulkSmsAdapter
Create an adapter for the BulkSMS gateway.
Options:
-
:region
-
:username
-
:password
42 43 44 45 46 47 48 |
# File 'lib/activesms/connection_adapters/bulk_sms_adapter.rb', line 42 def initialize(logger = nil, config = {}) super(logger) @config = config.dup host = SERVICE_HOSTS[config[:region]] || SERVICE_HOSTS[:uk] @service_url = "http://#{host}:#{SERVICE_PORT}#{SERVICE_PATH}" end |
Instance Method Details
#adpter_name ⇒ Object
Return the human readable name of the connection adapter name.
51 52 53 |
# File 'lib/activesms/connection_adapters/bulk_sms_adapter.rb', line 51 def adpter_name return 'BulkSMS' end |
#deliver(sms) ⇒ Object
55 56 57 58 59 60 61 62 63 |
# File 'lib/activesms/connection_adapters/bulk_sms_adapter.rb', line 55 def deliver(sms) params = { :username => @config[:username], :password => @config[:password], :msisdn => sms.recipients, :message => sms.body, } send_http_request(@service_url, params) end |