dumb api console

This commit is contained in:
maxwell 2011-03-22 21:14:44 -07:00 committed by danielgrippi
parent ea3d839e1c
commit 310f529914
3 changed files with 66 additions and 1 deletions

View file

@ -38,7 +38,7 @@ class ApisController < ActionController::Metal
##people
def people_index
set_defaults
people = Person.search(params[:q]).paginate(:page => params[:page], :per_page => params[:per_page], :order => "#{params[:order]} DESC")
people = Person.search(params[:q], nil).paginate(:page => params[:page], :per_page => params[:per_page], :order => "#{params[:order]} DESC")
render :json => people.as_json
end

View file

@ -39,3 +39,14 @@
= "invite token: #{accept_invitation_url(user, :invitation_token => user.invitation_token)}" if user.invitation_token
%br
%br
= javascript_include_tag 'apiconsole'
#query
%h3 api console
= text_field_tag :api
= submit_tag 'ping this api', :id => 'api_submit'
response:
%br
%br
#resp

View file

@ -0,0 +1,54 @@
var ApiConsole = {
prettyPrint: function(obj, indent)
{
var result = "";
if (indent == null) indent = "";
for (var property in obj)
{
var value = obj[property];
if (typeof value == 'string')
value = "'" + value + "'";
else if (typeof value == 'object')
{
if (value instanceof Array)
{
// Just let JS convert the Array to a string!
value = "[ " + value + " ]";
}
else
{
// Recursive dump
// (replace " " by "\t" or something else if you prefer)
var od = ApiConsole.prettyPrint(value, indent + " ");
// If you like { on the same line as the key
//value = "{\n" + od + "\n" + indent + "}";
// If you prefer { and } to be aligned
value = "\n" + indent + "{\n" + od + "\n" + indent + "}";
}
}
result += indent + "'" + property + "' : " + value + ",\n";
}
return result.replace(/,\n$/, "");
},
init: function(field, query_box, button){
this.field = $(field);
this.query = $(query_box);
this.button = $(button);
this.button.click(function(){
$.getJSON(ApiConsole.query.val(), function(data){
var json = ApiConsole.prettyPrint(data, '');
console.dir(json);
ApiConsole.field.html(json);
});
});
}
}
$(document).ready(function(){
ApiConsole.init('#resp', 'input[name=api]', '#api_submit:input');
});