class Smsapi::Credits

Attributes

balance[RW]
eco_sms_limit[RW]
error_code[RW]
mms_limit[RW]
pro_sms_limit[RW]
status[RW]
vms_gsm_limit[RW]
vms_stac_limit[RW]

Public Class Methods

new(server, options = {}) click to toggle source
# File lib/smsapi/credits.rb, line 5
def initialize(server, options = {})
  @options = default_options.merge options
  @server = server
end

Public Instance Methods

check() click to toggle source
# File lib/smsapi/credits.rb, line 10
def check
  read_response @server.user(server_params).join(';')
  self
end
error?() click to toggle source
# File lib/smsapi/credits.rb, line 19
def error?
  self.status == 'ERROR'
end
error_message() click to toggle source
# File lib/smsapi/credits.rb, line 27
def error_message
  Smsapi::ERROR_MESSAGES[error_code]
end
read_response(response) click to toggle source
# File lib/smsapi/credits.rb, line 31
def read_response(response)
  response = response.split(':').map(&:strip)

  self.status = response[0]
  if status == 'ERROR'
    self.error_code = response[1]
  else
    data = response[1].split(';')
    self.balance        = data[0].to_f
    self.pro_sms_limit  = data[1].to_i
    self.eco_sms_limit  = data[2].to_i
    self.mms_limit      = data[3].to_i
    self.vms_gsm_limit  = data[4].to_i
    self.vms_stac_limit = data[5].to_i
  end
end
sent?() click to toggle source
# File lib/smsapi/credits.rb, line 15
def sent?
  not self.status.nil?
end
success?() click to toggle source
# File lib/smsapi/credits.rb, line 23
def success?
  self.status == 'Points'
end

Private Instance Methods

default_options() click to toggle source
# File lib/smsapi/credits.rb, line 50
def default_options
  {
    credits: 1,
    details: 1
  }
end
server_params() click to toggle source
# File lib/smsapi/credits.rb, line 57
def server_params
  @options
end