Class: ESpider::API::Dianping::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/espider/api/dianping/base.rb

Direct Known Subclasses

Business, Metadata

Constant Summary collapse

Domain =
"http://api.dianping.com"
Version =
"v1"

Instance Method Summary collapse

Constructor Details

#initialize(appkey, app_secret) ⇒ Base

Returns a new instance of Base.



10
11
12
13
14
# File 'lib/espider/api/dianping/base.rb', line 10

def initialize(appkey,app_secret)
	@appkey = appkey
	@app_secret = app_secret
	@params = {}
end

Instance Method Details

#calc_digestObject



15
16
17
18
19
20
21
# File 'lib/espider/api/dianping/base.rb', line 15

def calc_digest
	@params.delete(:appkey)
	@params.delete(:sign)
	digest = Digest::SHA1.hexdigest(@appkey+@params.sort.map{|e| e[0].to_s+e[1].to_s}.join('')+@app_secret).upcase
	@params[:appkey] = @appkey
	@params[:sign] = digest
end

#getObject



22
23
24
25
26
27
# File 'lib/espider/api/dianping/base.rb', line 22

def get
	calc_digest
	@uri.query = URI.encode_www_form(@params)
	res = HTTParty.get @uri.to_s
	res.body
end

#next_pageObject



28
29
30
31
# File 'lib/espider/api/dianping/base.rb', line 28

def next_page
	@params[:page] = @params[:page] + 1
	get
end