Method: Pemilu::API#party

Defined in:
lib/pemilu/api.rb

#party(id) ⇒ Object



132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
# File 'lib/pemilu/api.rb', line 132

def party(id)
  uri = URI("http://api.pemiluapi.org/candidate/api/partai/#{id}")
  params = { apiKey: @key }
  uri.query = URI.encode_www_form(params)
  respond = Net::HTTP.get_response(uri)
  return "Invalid request error. Please check your API key" if respond.is_a?(Net::HTTPUnauthorized)
  return "Can't get Party with id: #{id}" if respond.is_a?(Net::HTTPBadRequest)
  data = JSON.parse(respond.body) if respond.is_a?(Net::HTTPSuccess)
  party = data["data"]["results"]["partai"][0]
  return Pemilu::Party.new(
      id: party["id"].to_i,
      nick_name: party["nama"],
      full_name: party["nama_lengkap"],
      url: party["url_situs"],
      facebook: party["url_facebook"],
      twitter: party["url_twitter"]
    )
end