module Umeng::Services

Public Instance Methods

cancel(task_id) click to toggle source

取消任务 POST msg.umeng.com/api/cancel?sign=mysign

# File lib/umeng/services.rb, line 32
def cancel(task_id)
  uri = 'api/cancel'
  params = {
      appkey: @appkey,
      timestamp: Time.now.to_i,
      task_id: task_id
  }
  request(uri, params)
end
push(params={}) click to toggle source

消息发送 POST msg.umeng.com/api/send?sign=mysign

# File lib/umeng/services.rb, line 9
def push(params={})
  uri = 'api/send'
  params.merge!({
    appkey: @appkey,
    timestamp: Time.now.to_i
  })
  request(uri, params)
end
status(task_id) click to toggle source

查看状态 POST msg.umeng.com/api/status?sign=mysign

# File lib/umeng/services.rb, line 20
def status(task_id)
  uri = 'api/status'
  params = {
    appkey: @appkey,
    timestamp: Time.now.to_i,
    task_id: task_id
  }
  request(uri, params)
end

Private Instance Methods

request(uri, params) click to toggle source
# File lib/umeng/services.rb, line 43
def request(uri, params)
  conn = Faraday.new(:url => Umeng::UMENG_HOST) do |faraday|
    faraday.request  :url_encoded
    faraday.response :logger
    faraday.adapter  Faraday.default_adapter
  end

  response = conn.post do |req|
    req.url uri, sign: generate_sign(uri, params)
    req.headers['Content-Type'] = 'application/json'
    req.body = params.to_json
  end

  result(response.body, uri)
end