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

Instance Attribute Summary

Attributes inherited from BasicClient

#connection, #options

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Client

Returns a new instance of Client.



6
7
8
9
10
11
# 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::Reddit::RateLimit, FaradayMiddleware::Reddit::ForceJson
end

Instance Method Details

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



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

def get(*args, **options)
  body = connection.get(*args, **options).body
  body = Reddit::Base::Helpers.simplify body if options[:simplify]
  body
end

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



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

def post(*args, **options)
  body = connection.post(*args, **options).body
  body = Reddit::Base::Helpers.simplify body if options[:simplify]
  body
end