class UmengMessage::Subject
Constants
- CANCEL_URL
- CAST_TYPE
- CHECK_URL
- PUSH_URL
- UPLOAD_URL
Attributes
content[R]
error_code[R]
file_id[R]
payload[R]
platform[R]
ret[R]
task_id[R]
Public Class Methods
new(platform, options)
click to toggle source
# File lib/umeng_message/subject.rb, line 13 def initialize(platform, options) @platform = platform @options = options end
Public Instance Methods
cancel()
click to toggle source
# File lib/umeng_message/subject.rb, line 26 def cancel post_youmeng(CANCEL_URL, Params.cancel_params(@platform, @options['task_id'])) end
check()
click to toggle source
# File lib/umeng_message/subject.rb, line 22 def check post_youmeng(CHECK_URL, Params.check_params(@platform, @options['task_id'])) end
push()
click to toggle source
# File lib/umeng_message/subject.rb, line 18 def push post_youmeng(PUSH_URL, Params.push_params(@platform, @options)) end
upload()
click to toggle source
# File lib/umeng_message/subject.rb, line 30 def upload post_youmeng(UPLOAD_URL, Params.upload_params(@platform, @options['content'])) end
Private Instance Methods
error_result(error_message)
click to toggle source
# File lib/umeng_message/subject.rb, line 54 def error_result(error_message) {result: error_message, error_code: '999', data: {}} end
parse_res(result)
click to toggle source
# File lib/umeng_message/subject.rb, line 50 def parse_res result {result: result['ret'], error_code: result['data']['error_code'], data: result['data']} end
post_youmeng(url, payload)
click to toggle source
# File lib/umeng_message/subject.rb, line 35 def post_youmeng(url, payload) sign = Sign.generate @platform, url, payload begin request = HTTPI::Request.new request.url = "#{url}?sign=#{sign}" request.open_timeout = 3 request.read_timeout = 3 request.body = payload.to_json response = HTTPI.post(request) parse_res(ActiveSupport::JSON.decode(response.body)) rescue => e error_result e.message end end