class GrowthPush::Request

Attributes

endpoint[R]
headers[R]
method[R]
params[R]

Public Class Methods

new(method, endpoint, headers, params) click to toggle source
# File lib/growth_push/request.rb, line 7
def initialize(method, endpoint, headers, params)
  @method   = method
  @endpoint = endpoint
  @headers  = headers
  @params   = params
end

Public Instance Methods

create() click to toggle source
# File lib/growth_push/request.rb, line 14
def create
  send(method)
end

Private Instance Methods

generate_uri_from_params(endpoint, params) click to toggle source
# File lib/growth_push/request.rb, line 40
def generate_uri_from_params(endpoint, params)
  if params.empty?
    "/#{endpoint}"
  else
    query_string = params.collect {|k, v| "#{CGI.escape(k.to_s)}=#{CGI.escape(v.to_s)}" }.join("&")
    "/#{endpoint}?#{query_string}"
  end
end
get() click to toggle source
# File lib/growth_push/request.rb, line 19
def get
  uri = generate_uri_from_params(endpoint, params)
  request = Net::HTTP::Get.new(uri)
  headers.each { |k, v| request[k.to_s] = v.to_s}
  request
end
post() click to toggle source
# File lib/growth_push/request.rb, line 26
def post
  request = Net::HTTP::Post.new("/#{endpoint}")
  request.set_form_data(params)
  headers.each { |k, v| request[k.to_s] = v.to_s}
  request
end
put() click to toggle source
# File lib/growth_push/request.rb, line 33
def put
  request = Net::HTTP::Put.new("/#{endpoint}")
  request.set_form_data(params)
  headers.each { |k, v| request[k.to_s] = v.to_s}
  request
end