Module: Wewoo::Adapter
Defined Under Namespace
Classes: InvalidRequestError, NoDataError
Class Method Summary
collapse
Class Method Details
.delete(url, opts = {}) ⇒ Object
24
25
26
|
# File 'lib/wewoo/adapter.rb', line 24
def delete( url, opts={} )
handle_response( Typhoeus.delete( url, opts ) )
end
|
.get(url, opts = {}) ⇒ Object
12
13
14
|
# File 'lib/wewoo/adapter.rb', line 12
def get( url, opts={} )
handle_response( Typhoeus.get( url, opts ) )
end
|
.handle_response(resp) ⇒ Object
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
# File 'lib/wewoo/adapter.rb', line 35
def handle_response( resp )
log "URL", resp.effective_url
unless resp.success?
error = "-- " + JSON.parse( resp.response_body )['message'] rescue ""
raise InvalidRequestError, "<#{resp.response_code}> " +
"Failed request:#{resp.effective_url} #{error}"
end
if resp.body.empty? or resp.body == "null"
raise NoDataError, "No data found at location #{url}"
end
body = JSON.parse( resp.body )
log "RESP", body
results = body['results'] || body
results.is_a?(Hash) ? Map[results] : results
end
|
.log(title, message) ⇒ Object
28
29
30
31
32
33
|
# File 'lib/wewoo/adapter.rb', line 28
def log( title, message )
return unless Configuration.debug
msg = "[Wewoo] #{title} -- #{message}"
logger.debug msg
end
|
.logger ⇒ Object
54
55
56
|
# File 'lib/wewoo/adapter.rb', line 54
def logger
@logger ||= Logger.new( Configuration.log_file )
end
|
.post(url, opts = {}) ⇒ Object
16
17
18
|
# File 'lib/wewoo/adapter.rb', line 16
def post( url, opts={} )
handle_response( Typhoeus.post( url, opts ) )
end
|
.put(url, opts = {}) ⇒ Object
20
21
22
|
# File 'lib/wewoo/adapter.rb', line 20
def put( url, opts={} )
handle_response( Typhoeus.put( url, opts ) )
end
|