Class: Smshelper::Api::Smswarehouse

Inherits:
Base
  • Object
show all
Defined in:
lib/smshelper/api/smswarehouse.rb

Instance Attribute Summary

Attributes inherited from Base

#extra_options, #sent_message_ids, #sent_message_statuses

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Smswarehouse

Returns a new instance of Smswarehouse.



7
8
9
10
# File 'lib/smshelper/api/smswarehouse.rb', line 7

def initialize(config)
  @uname, @passwd = config.smswarehouse[:uname], config.smswarehouse[:passwd]
  super
end

Instance Method Details

#get_balanceObject



34
35
36
37
# File 'lib/smshelper/api/smswarehouse.rb', line 34

def get_balance
  @q = {:userid => @uname, :password => @passwd}
  {'EUR' => (post "balanceReport", :extra_query => @q).split(/\n/).last.split('::').last.strip}
end

#get_status(message_id) ⇒ Object



39
40
41
42
43
44
45
46
47
# File 'lib/smshelper/api/smswarehouse.rb', line 39

def get_status(message_id)
  options = {:userid => @uname, :password => @passwd}
  resp = (post 'websmsstatus', :extra_query => {:respid => message_id.to_s}.merge(options)).split('-')[1].strip
  @sent_message_statuses[message_id] = []
  [resp].each_with_index do |status, index|
    @sent_message_statuses[message_id] << {"part #{index}" => resp}
  end
  {message_id => @sent_message_statuses[message_id]}
end

#send_message(message) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/smshelper/api/smswarehouse.rb', line 12

def send_message(message)

  if message.utf_8
    message.to_hex
    @q = {:type => '0', :esm => '64', :dcs => '8'}
    # raise NotImplementedError, "UTF-8 unsupported by #{self.class.name}"
  else
    @q = {:type => '5', :esm => '64', :dcs => '0'}
  end

  options = {
    :user => @uname,
    :pass => @passwd,
    :mno => message.recipient,
    :text => message.text,
    :sid => message.sender}

  resp = (post "webmsg", :extra_query => @q.merge(options)).split('::').last.strip
  @sent_message_ids << resp
  resp
end