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/transports/test_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, Message, MobileTechnicsTransport, Number, NumberList

Constant Summary collapse

VERSION =
"1.1.0"
@@transport =

No default transport.

nil
@@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

.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)


41
42
43
44
# File 'lib/mote_sms.rb', line 41

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

.deliveriesObject



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

def self.deliveries
  @@deliveries
end

.transportObject

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

Returns global SMS transport method.



17
18
19
# File 'lib/mote_sms.rb', line 17

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.



26
27
28
# File 'lib/mote_sms.rb', line 26

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