class Valuefirst::Valuefirst

Attributes

config[R]

Public Class Methods

error_desc(error_code) click to toggle source
# File lib/valuefirst/valuefirst.rb, line 16
def self.error_desc error_code
  ERROR_CODES.fetch(error_code.to_s, "Description not available")
end
new(opts = {}) { |config| ... } click to toggle source
# File lib/valuefirst/valuefirst.rb, line 10
def initialize(opts = {}, &block)
  @config = Config.new(opts)
  yield(@config) if block_given?
  @config.validate
end

Public Instance Methods

bulksend_message(file_path) click to toggle source
# File lib/valuefirst/valuefirst.rb, line 35
def bulksend_message file_path
  raise ArgumentError, "File does not exist." unless File.exists? file_path.to_s
  raise ArgumentError, "File is not readable." unless File.readable? file_path.to_s
  payload = XmlPayload::Batchtext.batchtext @config, file_path
  call_api payload, "send"
end
bulksend_unicode(file_path) click to toggle source
# File lib/valuefirst/valuefirst.rb, line 52
def bulksend_unicode file_path
  raise ArgumentError, "File does not exist." unless File.exists? file_path.to_s
  raise ArgumentError, "File is not readable." unless File.readable? file_path.to_s
  payload = XmlPayload::Batchunicode.batchunicode @config, file_path
  call_api payload, "send"
end
credit_request() click to toggle source
# File lib/valuefirst/valuefirst.rb, line 20
def credit_request
  payload = XmlPayload::RequestCredit.requestcredit @config
  call_api payload, "credits"
end
multicast_message(message_content, phone_number_array, sender_id = nil) click to toggle source
# File lib/valuefirst/valuefirst.rb, line 42
def multicast_message message_content, phone_number_array, sender_id = nil
  payload = XmlPayload::MulticastMessage.multicastmessage @config, message_content, phone_number_array, sender_id
  call_api payload, "send"
end
multicast_unicode(message_content, phone_number_array, sender_id = nil) click to toggle source
# File lib/valuefirst/valuefirst.rb, line 59
def multicast_unicode message_content, phone_number_array, sender_id = nil
  payload = XmlPayload::MulticastUnicode.multicastunicode @config, message_content, phone_number_array, sender_id
  call_api payload, "send"
end
send_message(message_content, phone_number, sender_id = nil) click to toggle source
# File lib/valuefirst/valuefirst.rb, line 30
def send_message message_content, phone_number, sender_id = nil
  payload = XmlPayload::TextMessage.textmessage @config, message_content, phone_number, sender_id
  call_api payload, "send"
end
send_unicode(message_content, phone_number, sender_id = nil) click to toggle source
# File lib/valuefirst/valuefirst.rb, line 47
def send_unicode message_content, phone_number, sender_id = nil
  payload = XmlPayload::UnicodeMessage.unicodemessage @config, message_content, phone_number, sender_id
  call_api payload, "send"
end
status_request(guid_seq_hash) click to toggle source
# File lib/valuefirst/valuefirst.rb, line 25
def status_request guid_seq_hash
  payload = XmlPayload::StatusRequest.statusrequest @config, guid_seq_hash
  call_api payload, "status"
end

Private Instance Methods

call_api(payload, action) click to toggle source
# File lib/valuefirst/valuefirst.rb, line 66
def call_api payload, action
  raise ArgumentError, "Invalid action" unless VALID_ACTIONS.include? action
  params = {data: payload, action: action}
  api_reponse = Net::HTTP.post_form(
    URI.parse(@config.url), 
    params
    )

  case api_reponse
  when Net::HTTPSuccess, Net::HTTPRedirection
    return HappyMapper.parse(api_reponse.body.downcase)
  else
    return api_reponse
  end
end