module DsjSms

Constants

VERSION

Public Class Methods

password(password) click to toggle source
# File lib/dsj_sms/core.rb, line 10
def self.password(password)
        puts @password = Digest::MD5.hexdigest(password)
end
sendSMS(phone,content,sign) click to toggle source
# File lib/dsj_sms/core.rb, line 18
def self.sendSMS(phone,content,sign)

        message_xml = %Q(<?xml version="1.0" encoding="UTF-8"?>)
        message_xml += "<message>"
        message_xml += "<account>#{@username}</account>"
        message_xml += "<password>#{@password}</password>"
        message_xml += "<msgid></msgid>"
        message_xml += "<phones>#{phone_rule(phone)}</phones>"
        message_xml += "<content>#{html_rule(content)}</content>"
        message_xml += "<sign>【#{sign}】</sign>"
        message_xml += "<subcode></subcode>"
        message_xml += "<sendtime></sendtime>"
        message_xml += "</message>"

        post = Net::HTTP::Post.new(@url.path)
        post.form_data = {"message" => message_xml}
        request = Net::HTTP.new(@url.host, @url.port)
        request.start do |http|
                response = http.request(post)
        end
end
url(url) click to toggle source
# File lib/dsj_sms/core.rb, line 14
def self.url(url)
        puts @url = URI.parse(url)
end
username(username) click to toggle source
# File lib/dsj_sms/core.rb, line 6
def self.username(username)
        puts @username = username
end

Private Class Methods

html_rule(content) click to toggle source
# File lib/dsj_sms/core.rb, line 51
def self.html_rule(content)
        ERB::Util.html_escape(content)
end
phone_rule(phone) click to toggle source
# File lib/dsj_sms/core.rb, line 41
def self.phone_rule(phone)
        phone = phone.gsub(' ', '').gsub('+', '')
        ['86', '0086', '086'].each do |country_code|
                if phone.start_with?(country_code)
                        phone.sub!(country_code, '')
                end
        end
        phone
end