Method: Pemilu::API#parties

Defined in:
lib/pemilu/api.rb

#partiesObject



108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# File 'lib/pemilu/api.rb', line 108

def parties
  uri = URI("http://api.pemiluapi.org/candidate/api/partai")
  params = { apiKey: @key }
  uri.query = URI.encode_www_form(params)
  respond = Net::HTTP.get_response(uri)
  result = []
  return "Invalid request error. Please check your API key" if respond.is_a?(Net::HTTPUnauthorized)

  data = JSON.parse(respond.body) if respond.is_a?(Net::HTTPSuccess)
  @total_parties = data["data"]["results"]["count"]
  parties = data["data"]["results"]["partai"]
  parties.each do |party|
    result << 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
  return result
end