class MyTargetApi::PreparePostParamsDecorator

Prepare post params

Attributes

origin[R]

Public Class Methods

new(origin) click to toggle source
# File lib/my_target_api/prepare_post_params_decorator.rb, line 9
def initialize(origin)
  @origin = origin
end

Public Instance Methods

delete(url, params = {}, headers = {}) click to toggle source
# File lib/my_target_api/prepare_post_params_decorator.rb, line 27
def delete(url, params = {}, headers = {})
  origin.delete(url, params, headers)
end
get(url, params = {}, headers = {}) click to toggle source
# File lib/my_target_api/prepare_post_params_decorator.rb, line 13
def get(url, params = {}, headers = {})
  origin.get(url, params, headers)
end
post(url, params = {}, headers = {}) click to toggle source
# File lib/my_target_api/prepare_post_params_decorator.rb, line 17
def post(url, params = {}, headers = {})
  prepared = body_parameters(params)

  if prepared.is_a?(String)
    origin.upload(url, prepared, {}, { 'Content-Type' => 'application/json' }.merge(headers))
  else
    origin.post(url, prepared, headers)
  end
end
upload(url, content, params = {}, headers = {}) click to toggle source
# File lib/my_target_api/prepare_post_params_decorator.rb, line 31
def upload(url, content, params = {}, headers = {})
  origin.upload(url, content, params, headers)
end

Private Instance Methods

body_parameters(params) click to toggle source
# File lib/my_target_api/prepare_post_params_decorator.rb, line 39
def body_parameters(params)
  result_params = params.dup

  if result_params.values.any? { |param| param.is_a? IO } || result_params[:grant_type]
    individual_body_parameters(result_params)
  else
    result_params.to_json
  end
end
individual_body_parameters(params) click to toggle source
# File lib/my_target_api/prepare_post_params_decorator.rb, line 49
def individual_body_parameters(params)
  params.transform_values do |value|
    value.is_a?(Array) || value.is_a?(Hash) ? value.to_json : value
  end
end