Module: BluestormSMS

Extended by:
BluestormSMS
Included in:
BluestormSMS
Defined in:
lib/bluestorm_sms.rb,
lib/bluestorm_sms/configuration.rb

Defined Under Namespace

Classes: Configuration

Constant Summary collapse

URL =

send sms

"http://sdk2.entinfo.cn:8061/mdsmssend.ashx"

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#configObject



13
14
15
# File 'lib/bluestorm_sms.rb', line 13

def config
  @config ||= Configuration.new
end

Instance Method Details

#configure {|config| ... } ⇒ Object

Yields:



17
18
19
# File 'lib/bluestorm_sms.rb', line 17

def configure
  yield(config)
end

#get(messages) ⇒ Object

get sms



38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/bluestorm_sms.rb', line 38

def get 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

#pwdObject



24
25
26
# File 'lib/bluestorm_sms.rb', line 24

def pwd
  Digest::MD5.hexdigest(@config.sn + @config.pwd).upcase
end

#send(phone, content) ⇒ Object



28
29
30
31
32
33
34
35
# File 'lib/bluestorm_sms.rb', line 28

def send(phone, content)
  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