Class: BaiduPush::Request
- Inherits:
-
Object
- Object
- BaiduPush::Request
- Includes:
- HTTParty
- Defined in:
- lib/baidu_push/request.rb
Constant Summary collapse
- HTTP_METHOD =
:post
Instance Attribute Summary collapse
-
#client ⇒ Object
readonly
Returns the value of attribute client.
Instance Method Summary collapse
- #fetch(method, params = {}) ⇒ Object
- #generate_sign(sign_params) ⇒ Object
-
#initialize(client) ⇒ Request
constructor
A new instance of Request.
Constructor Details
#initialize(client) ⇒ Request
Returns a new instance of Request.
13 14 15 16 17 |
# File 'lib/baidu_push/request.rb', line 13 def initialize(client) @client = client set_base_uri end |
Instance Attribute Details
#client ⇒ Object (readonly)
Returns the value of attribute client.
11 12 13 |
# File 'lib/baidu_push/request.rb', line 11 def client @client end |
Instance Method Details
#fetch(method, params = {}) ⇒ Object
19 20 21 22 23 24 25 26 27 28 |
# File 'lib/baidu_push/request.rb', line 19 def fetch(method, params = {}) params.merge!({method: method, apikey: @client.api_key, timestamp: Time.now.to_i}) sign = generate_sign(params) params.merge!({ sign: sign }) = { body: params } self.class.send(HTTP_METHOD, "/#{@client.resource}", ) end |
#generate_sign(sign_params) ⇒ Object
30 31 32 33 34 35 |
# File 'lib/baidu_push/request.rb', line 30 def generate_sign(sign_params) params_string = sign_params.sort.map{ |h| h.join('=') }.join gather = "#{HTTP_METHOD.to_s.upcase}#{self.class.base_uri}/#{@client.resource}#{params_string}#{@client.secret_key}" Digest::MD5.hexdigest(URI::encode_www_form_component(gather)) end |