class ByRobot::Request

Constants

BASEURL

Public Class Methods

check_required_params(params, names) click to toggle source
# File lib/by_robot/request.rb, line 6
def self.check_required_params(params, names)
  missing_params = names.map(&:to_s) - params.keys.map(&:to_s)
  warn("Warn: missing required option: #{missing_params.join(',')}") if missing_params.size > 0
end
get(action, params) click to toggle source
# File lib/by_robot/request.rb, line 30
def self.get(action, params)
  JSON.parse RestClient.get("#{BASEURL}/#{action}", headers.merge({params: params}))
end
headers() click to toggle source
# File lib/by_robot/request.rb, line 16
def self.headers
  headers = {
    content_type: :json, 
    accept: :json,
    'AcceptCharset': 'utf-8',
    'contentType': 'utf-8',
    datetime: Time.now.utc.strftime('%a, %d %b %Y %H:%M:%S GMT'), 
    appkey: ByRobot.app_key
  }
  str = headers[:appkey] + "\n" + headers[:datetime]
  headers[:sign] = sign(str)
  headers
end
post(action, params) click to toggle source
# File lib/by_robot/request.rb, line 34
def self.post(action, params)
  JSON.parse RestClient.post("#{BASEURL}/#{action}", params.to_json, headers)
end
sign(sign_message) click to toggle source
# File lib/by_robot/request.rb, line 11
def self.sign(sign_message)
  digest = OpenSSL::Digest.new('sha1')
  sign = Base64.encode64 OpenSSL::HMAC.digest(digest, ByRobot.app_secret, sign_message)
end