Module: MoteSMS

Defined in:
lib/mote_sms.rb,
lib/mote_sms/number.rb,
lib/mote_sms/message.rb,
lib/mote_sms/version.rb,
lib/mote_sms/transports.rb,
lib/mote_sms/number_list.rb,
lib/mote_sms/delivery_job.rb,
lib/mote_sms/transports/test_transport.rb,
lib/mote_sms/transports/twilio_transport.rb,
lib/mote_sms/transports/swisscom_transport.rb,
lib/mote_sms/transports/action_mailer_transport.rb,
lib/mote_sms/transports/mobile_technics_transport.rb

Defined Under Namespace

Modules: TestTransport Classes: ActionMailerSMSMailer, ActionMailerTransport, DeliveryJob, Message, MobileTechnicsTransport, Number, NumberList, SwisscomTransport, TwilioTransport

Constant Summary collapse

VERSION =
'1.3.16'.freeze
@@transport =

No default transport.

nil
@@delayed_delivery_queue =
:default
@@deliveries =

Public: Provide access to global array of delivered messages, this can be used in testing to assert sent SMS messages, test their contents, recipients etc.

Must be cleared manually (!)

[]

Class Method Summary collapse

Class Method Details

.delayed_delivery_queueObject

Public: Get globally defined queue name for ActiveJob, if any. Defaults to ‘nil`.

Returns global ActiveJob queue name.



19
20
21
# File 'lib/mote_sms.rb', line 19

def self.delayed_delivery_queue
  @@delayed_delivery_queue
end

.delayed_delivery_queue=(queue) ⇒ Object

Public: Set global queue name for ActiveJob

queue - A string or symbol that represents the queue to use for ActiveJob

Returns nothing.



28
29
30
# File 'lib/mote_sms.rb', line 28

def self.delayed_delivery_queue=(queue)
  @@delayed_delivery_queue = queue
end

.deliver(&block) ⇒ Object

Public: Directly deliver a message using global transport.

Examples:

MoteSMS.deliver do
  to '0041 79 123 12 12'
  from 'SENDER'
  body 'Hello world'
end

Returns result of #deliver.

Raises:

  • (ArgumentError)


60
61
62
63
# File 'lib/mote_sms.rb', line 60

def self.deliver(&block)
  raise ArgumentError, 'Block missing' unless block_given?
  Message.new(&block).deliver_now
end

.deliveriesObject



8
9
10
# File 'lib/mote_sms/transports/test_transport.rb', line 8

def self.deliveries
  @@deliveries
end

.transportObject

Public: Get globally defined transport method, if any. Defaults to ‘nil`.

Returns global SMS transport method.



36
37
38
# File 'lib/mote_sms.rb', line 36

def self.transport
  @@transport
end

.transport=(transport) ⇒ Object

Public: Set global transport method to use.

transport - Any object which implements ‘#deliver(message, options)`.

Returns nothing.



45
46
47
# File 'lib/mote_sms.rb', line 45

def self.transport=(transport)
  @@transport = transport
end