Class: ExetelSms::Sender

Inherits:
Object
  • Object
show all
Extended by:
ClassMethods
Defined in:
lib/sender.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from ClassMethods

build_url, encode, new_reference_number, response_to_hash

Constructor Details

#initialize(config) ⇒ Sender

Returns a new instance of Sender.



8
9
10
# File 'lib/sender.rb', line 8

def initialize(config)
  @config = config
end

Instance Attribute Details

#configObject (readonly)

Returns the value of attribute config.



7
8
9
# File 'lib/sender.rb', line 7

def config
  @config
end

Class Method Details

.exetel_urlObject



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

def exetel_url
  'https://smsgw.exetel.com.au/sendsms/api_sms.php?'
  #username=xxxxxxxx&password=xxxxxxxx&mobilenumber=xxxxxxxx&message=xxxxxxxx&sender=xxxxxxxxx&messagetype=Text&referencenumber=xxxxxx'
end

.request_fieldsObject



32
33
34
# File 'lib/sender.rb', line 32

def request_fields
  [:username, :password, :mobilenumber, :message, :sender, :messagetype, :referencenumber]
end

.response_fieldsObject



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

def response_fields
  [:status, :to_mobile_number, :reference_number, :exetel_id, :notes]
end

Instance Method Details

#send(to_mobile_number, msg, from_mobile_number, reference_number) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/sender.rb', line 12

def send(to_mobile_number, msg, from_mobile_number, reference_number)
  url = self.class.build_url(
    :username => @config.username,
    :password => @config.password,
    :sender => from_mobile_number,
    :message => msg,
    :messagetype => 'Text',
    :referencenumber => reference_number,
    :mobilenumber => to_mobile_number
  )
  
  self.class.response_to_hash(ExetelSms::Client.request(url))
end