jam-cloud/web/app/controllers/api_maxmind_requests_contro...

34 lines
1.1 KiB
Ruby
Raw Normal View History

2013-03-15 04:23:37 +00:00
class ApiMaxmindRequestsController < ApiController
2012-12-15 20:17:41 +00:00
respond_to :json
def countries
countriesx = MaxMindManager.countries
render :json => { :countriesx => countriesx }, :status => 200
end
2012-12-15 20:17:41 +00:00
def regions
regions = MaxMindManager.regions(params[:country])
if regions && regions.length > 0
render :json => { :regions => regions }, :status => 200
else
render :json => { :message => "Unrecognized Country" }, :status => 422
2012-12-15 20:17:41 +00:00
end
end
def cities
cities = MaxMindManager.cities(params[:country], params[:region])
if cities && cities.length > 0
render :json => { :cities => cities }, :status => 200
else
render :json => { :message => "Unrecognized country or region" }, :status => 422
2012-12-15 20:17:41 +00:00
end
end
# returns location hash (country, region, state) based on requesting IP
def resolved_location
location = GeoIpLocations.lookup(request.remote_ip)
render :json => { :country => location[:country], :region => location[:state], :city => location[:city] }, :status => 200
end
2012-12-15 20:17:41 +00:00
end