module HelperMethods

Public Instance Methods

get_me_an_operator(options) click to toggle source
# File lib/smooth_operator/operator.rb, line 111
def get_me_an_operator(options)
  if options[:parallel_connection].nil?
    Operators::Faraday
  else
    options[:connection] = options.delete(:parallel_connection)
    Operators::Typhoeus
  end
end
populate_options(object, options) click to toggle source
# File lib/smooth_operator/operator.rb, line 120
def populate_options(object, options)
  options ||= {}

  ClassMethods::OPTIONS.each do |option, default|
    options[option] ||= object.send(option)
  end

  options[:headers] = object.headers.merge(options[:headers] || {})

  parent_object = options[:parent_object]

  if !parent_object.nil? && options[:ignore_parent] != true
    id = Helpers.primary_key(parent_object)

    id = "#{id}/" if Helpers.present?(id)

    options[:resources_name] ||= "#{parent_object.class.resources_name}/#{id}#{object.resources_name}"
  end

  options
end
strip_params(object, http_verb, data) click to toggle source
# File lib/smooth_operator/operator.rb, line 142
def strip_params(object, http_verb, data)
  data ||= {}

  if [:get, :head, :delete].include?(http_verb)
    [object.query_string(data), nil]
  else
    [object.query_string({}), data]
  end
end