Class: GnipApi::Adapter

Inherits:
Object
  • Object
show all
Defined in:
lib/gnip_api/adapter.rb

Constant Summary collapse

GET =
'GET'
POST =
'POST'
DELETE =
'DELETE'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeAdapter

Returns a new instance of Adapter.

[View source]

9
10
11
12
13
14
# File 'lib/gnip_api/adapter.rb', line 9

def initialize
  raise GnipApi::Errors::MissingCredentials unless GnipApi.credentials?
  raise GnipApi::Errors::MissingAdapter unless GnipApi.adapter_class?
  @adapter = GnipApi.config.adapter_class.new
  @logger = GnipApi.config.logger
end

Instance Attribute Details

#adapterObject (readonly)

Returns the value of attribute adapter.


7
8
9
# File 'lib/gnip_api/adapter.rb', line 7

def adapter
  @adapter
end

Instance Method Details

#check_response_for_errors(response) ⇒ Object

[View source]

47
48
49
50
51
52
53
54
55
# File 'lib/gnip_api/adapter.rb', line 47

def check_response_for_errors response
  if response.ok?
    @logger.info "#{response.request_method} request to #{response.request_uri} returned with status #{response.status} OK"
  else
    error_message = response.error_message
    @logger.error "#{response.request_method} request to #{response.request_uri} returned with status #{response.status} FAIL: #{error_message}"
    raise GnipApi::Errors::Adapter::RequestError.new, error_message
  end
end

#delete(request) ⇒ Object

[View source]

32
33
34
35
36
37
38
# File 'lib/gnip_api/adapter.rb', line 32

def delete request
  log_request(request)
  response = adapter.delete(request)
  check_response_for_errors(response)
  return response.body unless response.body.empty?
  return true
end

#get(request) ⇒ Object

[View source]

16
17
18
19
20
21
22
# File 'lib/gnip_api/adapter.rb', line 16

def get request
  log_request(request)
  response = adapter.get(request)
  check_response_for_errors(response)
  return response.body unless response.body.empty?
  return true
end

#post(request) ⇒ Object

[View source]

24
25
26
27
28
29
30
# File 'lib/gnip_api/adapter.rb', line 24

def post request
  log_request(request)
  response = adapter.post(request)
  check_response_for_errors(response)
  return response.body unless response.body.empty?
  return true
end

#stream_get(request) ⇒ Object

[View source]

40
41
42
43
44
45
# File 'lib/gnip_api/adapter.rb', line 40

def stream_get request
  log_request(request)
  adapter.stream_get(request) do |data|
    yield(data)
  end
end