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, exetel_url, matchurl?, 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

.api_pathObject



39
40
41
# File 'lib/sender.rb', line 39

def api_path
  'api_sms.php'
end

.request_fieldsObject



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

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

.response_fieldsObject



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

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



24
25
26
27
# File 'lib/sender.rb', line 24

def send(to_mobile_number, msg, from_mobile_number, reference_number)
  url = self.class.build_url(send_request_hash(to_mobile_number, msg, from_mobile_number, reference_number))
  self.class.response_to_hash(ExetelSms::Client.request(url))
end

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



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

def send_request_hash(to_mobile_number, msg, from_mobile_number, reference_number)
  {
    :username => @config.username,
    :password => @config.password,
    :sender => from_mobile_number,
    :message => msg,
    :messagetype => 'Text',
    :referencenumber => reference_number,
    :mobilenumber => to_mobile_number
  }
end