Class: Wordpress::Client
- Includes:
- API
- Defined in:
- lib/wordpress/client.rb
Instance Attribute Summary collapse
- 
  
    
      #access_token  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute access_token. 
Instance Method Summary collapse
- #call(request, options = {}) ⇒ Object
- 
  
    
      #initialize  ⇒ Client 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    A new instance of Client. 
Methods included from API
Methods inherited from Base
Constructor Details
#initialize ⇒ Client
Returns a new instance of Client.
| 16 17 18 19 20 21 22 23 | # File 'lib/wordpress/client.rb', line 16 def initialize @conn = Faraday.new do |faraday| faraday.use Faraday::Response::Logger, logger faraday.request :url_encoded faraday.response :gzip faraday.adapter Faraday.default_adapter end end | 
Instance Attribute Details
#access_token ⇒ Object
Returns the value of attribute access_token.
| 14 15 16 | # File 'lib/wordpress/client.rb', line 14 def access_token @access_token end | 
Instance Method Details
#call(request, options = {}) ⇒ Object
| 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | # File 'lib/wordpress/client.rb', line 25 def call(request, = {}) debug "Request: #{request}" response = @conn.send(request.method) do |req| req.url request.url req.params = request.params req.body = request.body.to_s if [:bearer_token_request] && !bearer_auth_header.nil? req.headers['Authorization'] = bearer_auth_header end req.headers['Accept-Encoding'] = 'gzip,deflate' req.headers['Content-Type'] = 'application/json' req.[:timeout] = 10 req.[:open_timeout] = 5 end begin json = MultiJson.load(response.body) if json.nil? || json == '' raise Wordpress::ResponseError end rescue MultiJson::LoadError => e raise Wordpress::ResponseError, {'error' => e, 'message' => "Can not parse the response: #{response.body.inspect}"} end debug "Response: #{json}" json end |