Class: Youku::V2::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/youku/v2/request.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(url, params = {}) ⇒ Request

Public: Constructor.

url - The String url. params - The Hash query params.



14
15
16
17
18
# File 'lib/youku/v2/request.rb', line 14

def initialize(url, params = {})
  @url      = url
  @params   = params
  @response = Typhoeus::Request.new(url, params: params, connecttimeout: 5, timeout: 10).run
end

Instance Attribute Details

#paramsObject (readonly)

Returns the value of attribute params.



8
9
10
# File 'lib/youku/v2/request.rb', line 8

def params
  @params
end

#responseObject (readonly)

Returns the value of attribute response.



8
9
10
# File 'lib/youku/v2/request.rb', line 8

def response
  @response
end

#urlObject (readonly)

Returns the value of attribute url.



8
9
10
# File 'lib/youku/v2/request.rb', line 8

def url
  @url
end

Instance Method Details

#bodyObject

Public: Get body.

Returns the instance of Hashie::Mash.



49
50
51
# File 'lib/youku/v2/request.rb', line 49

def body
  @body ||= Hashie::Mash.new(MultiJson.load response.body || '')
end

#codeObject

Public: Get response code.

Returns Integer code of response.



35
36
37
# File 'lib/youku/v2/request.rb', line 35

def code
  response.code
end

#next_pageObject

Public: Get next page.

Returns the instance of Youku::V2::Request.



23
24
25
# File 'lib/youku/v2/request.rb', line 23

def next_page
  Request.new url, params.merge(page: params[:page] + 1)
end

#ok?Boolean

Returns true at successful request , false otherwise.

Returns:

  • (Boolean)


28
29
30
# File 'lib/youku/v2/request.rb', line 28

def ok?
  response.code == 200
end

#return_codeObject

Public: Get return code.

Returns Integer return code.



42
43
44
# File 'lib/youku/v2/request.rb', line 42

def return_code
  response.return_code
end