class TuraTEL::SMS

Public Class Methods

check_sms(msg_id) click to toggle source
# File lib/turatel_sms/sms.rb, line 26
def self.check_sms(msg_id)
        body = TuraTEL::XmlBody.check_sms_body(msg_id)

        puts body if TuraTEL.configuration.debug

        response = send_request(body)

        result = parse_response(response)
        "result = #{result}"
end
new(auth_options={}) click to toggle source
# File lib/turatel_sms/sms.rb, line 45
def initialize(auth_options={})
        @auth_options = auth_options
end
parse_response(body) click to toggle source
# File lib/turatel_sms/sms.rb, line 68
def self.parse_response(body)
        body.split(" ")
end
send_request(body) click to toggle source
# File lib/turatel_sms/sms.rb, line 49
def self.send_request(body)
    header = { 
      "Content-Type" => "text/xml; charset=utf-8", 
      "Content-Length" => body.bytesize.to_s, 
      "Accept" => "*/*" 
    }

    request = Net::HTTP::Post.new('/xml/process.aspx', header)
    request.body = body
    #puts  "Request #{@header} #{request.body} "
    response = Net::HTTP.new(TuraTEL.configuration.host, TuraTEL.configuration.port).start {|http| http.request(request) }
    #puts "Response #{response.code} #{response.message}: #{response.body}"

    # parser = XMLRPC::XMLParser::REXMLStreamParser::StreamListener.new
    # parser.parse(response.body)

    return response.body
end
send_sms(recipient, message_text, opts={}) click to toggle source
# File lib/turatel_sms/sms.rb, line 4
def self.send_sms(recipient, message_text, opts={})
        valid_options = opts.only(:from, :start_date, :stop_date, :turkish)
        valid_options.merge!(:start_date => TuraTEL::DATE.now) unless valid_options[:start_date]
        valid_options.merge!(:stop_date => TuraTEL::DATE.n_hour_from_now(21)) unless valid_options[:stop_date]
        valid_options.merge!(:concat => 1) unless valid_options[:concat]

        if (message_text.chars.to_a.uniq & ['İ','Ğ','Ş','ı','ğ','ş']).empty?
                type = "1"
        else
                type = "2"
        end
        valid_options.merge!(:type => type)
        
        body = TuraTEL::XmlBody.send_sms_body(recipient, message_text, valid_options)
        puts body if TuraTEL.configuration.debug

        response = send_request(body)

        result = parse_response(response)
        "result = #{result}"
end

Public Instance Methods

check_balance() click to toggle source
# File lib/turatel_sms/sms.rb, line 41
def check_balance
        'OK Balance'
end
sms_status() click to toggle source
# File lib/turatel_sms/sms.rb, line 37
def sms_status
        'OK status'
end