Class: Reddit::Base::Client
Overview
Client that does everything BasicClient does but also attempts to coerce and parse JSON.
Constant Summary
Constants inherited
from BasicClient
BasicClient::DEFAULT_OPTIONS, BasicClient::DEFAULT_URL, BasicClient::DEFAULT_URL_SECURE
Instance Attribute Summary
Attributes inherited from BasicClient
#connection, #options
Instance Method Summary
collapse
Methods inherited from BasicClient
#build_connection
Constructor Details
#initialize(options) ⇒ Client
Returns a new instance of Client.
6
7
8
9
10
11
12
13
|
# File 'lib/reddit/base/client.rb', line 6
def initialize(options)
super(options)
connection.builder.insert_before FaradayMiddleware::FollowRedirects, FaradayMiddleware::ParseJson
connection.builder.insert_before FaradayMiddleware::ParseJson, FaradayMiddleware::Mashify
connection.builder.insert_before FaradayMiddleware::Reddit::Modhash, Faraday::ManualCache, expires_in: 30
connection.builder.insert_before Faraday::ManualCache, FaradayMiddleware::Reddit::ForceJson
end
|
Instance Method Details
#delete(url, options = {}) ⇒ Object
15
16
17
18
19
|
# File 'lib/reddit/base/client.rb', line 15
def delete(url, options = {})
nocache = options.delete(:nocache)
connection.delete(url, options)
end
|
#get(url, options = {}) ⇒ Object
21
22
23
24
25
26
27
28
29
|
# File 'lib/reddit/base/client.rb', line 21
def get(url, options = {})
nocache = options.delete(:nocache)
connection.get do |req|
req.url url
req.['x-faraday-manual-cache'] = 'NOCACHE' if nocache
req.params = options
end
end
|
#post(url, options = {}) ⇒ Object
31
32
33
34
35
|
# File 'lib/reddit/base/client.rb', line 31
def post(url, options = {})
nocache = options.delete(:nocache)
connection.post(url, options)
end
|
#put(url, options = {}) ⇒ Object
37
38
39
40
41
|
# File 'lib/reddit/base/client.rb', line 37
def put(url, options = {})
nocache = options.delete(:nocache)
connection.put(url, options)
end
|