class Reddit::Base::Client

Client that does everything BasicClient does but also attempts to coerce and parse JSON.

Public Class Methods

new(options) click to toggle source
Calls superclass method Reddit::Base::BasicClient::new
# 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

Public Instance Methods

delete(url, options = {}) click to toggle source
# File lib/reddit/base/client.rb, line 15
def delete(url, options = {})
  nocache = options.delete(:nocache)

  connection.delete(url, options)
end
get(url, options = {}) click to toggle source
# File lib/reddit/base/client.rb, line 21
def get(url, options = {})
  nocache = options.delete(:nocache)

  connection.get do |req|
    req.url url
    req.headers['x-faraday-manual-cache'] = 'NOCACHE' if nocache
    req.params = options
  end
end
post(url, options = {}) click to toggle source
# File lib/reddit/base/client.rb, line 31
def post(url, options = {})
  nocache = options.delete(:nocache)

  connection.post(url, options)
end
put(url, options = {}) click to toggle source
# File lib/reddit/base/client.rb, line 37
def put(url, options = {})
  nocache = options.delete(:nocache)

  connection.put(url, options)
end