class DeskApi::Request::EncodeDates
{DeskApi::Request::EncodeJson} is the Faraday middleware that dumps a json string from whatever is specified in the request body. It also sets the “Content-Type” header.
@author Thomas Stachl <tstachl@salesforce.com> @copyright Copyright © 2013-2016 Salesforce.com @license BSD 3-Clause License
Public Instance Methods
call(env)
click to toggle source
Changes the request before it gets sent
@param env [Hash] the request hash
# File lib/desk_api/request/encode_dates.rb, line 42 def call(env) if env[:body] && !env[:body].to_s.empty? env[:body] = encode_dates(env[:body]) end @app.call env end
Private Instance Methods
encode_dates(value)
click to toggle source
Encodes all {Date}, {DateTime} and {Time} values to iso8601
@param value [Mixed] the current body
# File lib/desk_api/request/encode_dates.rb, line 55 def encode_dates(value) case value when Hash value.each_pair do |key, element| value[key] = encode_dates element end when Array value.each_with_index do |element, index| value[index] = encode_dates element end when DateTime, Date, Time value.to_time.utc.iso8601 else value end end