module Entinfo

Constants

URL

send sms

VERSION

Attributes

config[W]

config

Public Instance Methods

config() click to toggle source
# File lib/entinfo.rb, line 13
def config
  @config ||= Configuration.new
end
configure() { |config| ... } click to toggle source
# File lib/entinfo.rb, line 17
def configure
  yield(config)
end
pwd() click to toggle source
# File lib/entinfo.rb, line 24
def pwd
  Digest::MD5.hexdigest(@config.sn + @config.pwd).upcase
end
receive_sms(messages) click to toggle source

recieve sms

# File lib/entinfo.rb, line 43
def receive_sms messages
  messages = Iconv.conv('utf-8', 'gb2312', messages)
  arr = messages.split(';').collect { |x| x.split(',') }
  results = []
  arr.each do |m|
    message = Hash.new
    message[:from] = m[2]
    message[:content] = m[3]
    message[:time] = Time.parse m[4]
    results << message
  end
  results
end
send_sms(phone, content) click to toggle source
# File lib/entinfo.rb, line 28
def send_sms(phone, content)
  unless /^1\d{10}$/ =~ phone.to_s
    puts "invalid phone:#{phone}"
    return {error: 'phone valid'}
  end

  result = Net::HTTP.post_form(URI.parse("#{URL}"), sn: @config.sn, pwd: self.pwd, mobile: phone, content: content)
  if result.body.match '^\d{18}$'
    {success: result.body}
  else
    {error: result.body}
  end
end