Class: GDouban::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/gdouban/base.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(access_token) ⇒ Base

Returns a new instance of Base.



12
13
14
15
16
# File 'lib/gdouban/base.rb', line 12

def initialize(access_token)
  @params = {}
  @params["apikey"] = Config.app_key
  @params["Authorization"] = "Bearer #{access_token}"
end

Instance Attribute Details

#paramsObject

Returns the value of attribute params.



10
11
12
# File 'lib/gdouban/base.rb', line 10

def params
  @params
end

Instance Method Details

#call_method(request_type, method = "user/~me", params = {}) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/gdouban/base.rb', line 18

def call_method(request_type, method="user/~me", params = {})
  url = URI.parse("https://api.douban.com/v2/#{method}")
  http = Net::HTTP.new(url.host, url.port)
  http.use_ssl = true if url.scheme == 'https'
  if request_type == "get"
    request = Net::HTTP::Get.new("#{url.path}?#{params_to_string(params)}", @params)
  elsif request_type == "post"
    request = Net::HTTP::Post.new("#{url.path}", @params)
    request.set_form_data(params)
  end
  MultiJson.decode(http.request(request).body)
end