Class: Reddit::Base::Client

Inherits:
BasicClient show all
Defined in:
lib/reddit/base/client.rb

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

Constructor Details

#initialize(options) ⇒ Client

Returns a new instance of Client.



8
9
10
11
12
13
# File 'lib/reddit/base/client.rb', line 8

def initialize(options)
  super(options)

  connection.builder.insert_before FaradayMiddleware::FollowRedirects, FaradayMiddleware::ParseJson
  connection.builder.insert_before FaradayMiddleware::Reddit::RateLimit, FaradayMiddleware::Reddit::ForceJson
end

Instance Method Details

#get(*args, **options) ⇒ Object



15
16
17
18
# File 'lib/reddit/base/client.rb', line 15

def get(*args, **options)
  body = connection.get(*args, **options).body
  Mash.new body
end

#post(*args, **options) ⇒ Object



20
21
22
23
# File 'lib/reddit/base/client.rb', line 20

def post(*args, **options)
  body = connection.post(*args, **options).body
  Mash.new body
end