class KakaxiParse::API

Constants

BASE_URL

Public Class Methods

new(endpoint, params: {}) click to toggle source
# File lib/kakaxi_parse/api.rb, line 5
def initialize(endpoint, params: {})
  @uri = URI.parse(BASE_URL + endpoint)
  @params = params
end

Public Instance Methods

delete() click to toggle source
# File lib/kakaxi_parse/api.rb, line 33
def delete
  request = Net::HTTP::Delete.new(@uri)
  set_auth_header!(request)
  request(request)
end
get() click to toggle source
# File lib/kakaxi_parse/api.rb, line 10
def get
  @uri.query = URI.encode_www_form(@params)
  request = Net::HTTP::Get.new(@uri)
  set_auth_header!(request)
  request(request)
end
post() click to toggle source
# File lib/kakaxi_parse/api.rb, line 25
def post
  request = Net::HTTP::Post.new(@uri)
  request.body = @params.to_json
  set_auth_header!(request)
  request['Content-Type'] = 'application/json'
  request(request)
end
put() click to toggle source
# File lib/kakaxi_parse/api.rb, line 17
def put
  request = Net::HTTP::Put.new(@uri)
  request.body = @params.to_json
  set_auth_header!(request)
  request['Content-Type'] = 'application/json'
  request(request)
end

Private Instance Methods

request(request) click to toggle source
# File lib/kakaxi_parse/api.rb, line 45
def request(request)
  Net::HTTP.start(@uri.host, @uri.port, use_ssl: true) do |https|
    JSON.parse(https.request(request).body)
  end
end
set_auth_header!(request) click to toggle source
# File lib/kakaxi_parse/api.rb, line 40
def set_auth_header!(request)
  request['X-Parse-Application-Id'] = ENV['PARSE_ID']
  request['X-Parse-Master-Key'] = ENV['PARSE_MASTER_KEY']
end