Sha256: 80cfc25744be9fd9c9b9cf58a40c1ce1a615a0544afe9af03a7233e2cd68c79c

Contents?: true

Size: 1.63 KB

Versions: 5

Compression:

Stored size: 1.63 KB

Contents

// REST & Rails, woop!
o_O.rails = {
  all: function(model, callback){
    $.get('/' + model.table_name, function(response){
      var documents = JSON.parse(response);
      if(typeof callback === 'function')
      {
        callback(documents);
      }
    })
  },
  destroy: function(object, callback){
    object.destroyed = true;
    $.ajax({
      type: 'DELETE',
      url: '/' + object.table_name + '/' + object.id,
      success: function(){
        if(typeof callback === 'function')
        {
          callback(object);
        }
      }
    })
  },
  save: function(object, callback)
  {
    var object_to_save = {}
    for(var i = 0; i < object.attributes.length; i++)
    {
      object_to_save[object.attributes[i]] = object[object.attributes[i]];
    }
    var respond = function(response){
      var saved_object = JSON.parse(response);
      for(var attribute in saved_object)
      {
        object_to_save[attribute] = saved_object[attribute];
      }
      object_to_save.new_record = false;
      if(typeof callback === 'function')
      {
        callback(object_to_save);
      }
    }
    if(object.new_record)
    {
      $.post('/' + object.table_name, object_to_save, respond);
    }
    else
    {
      $.ajax({
        type: 'PUT',
        url: '/' + object.table_name + '/' + object.id,
        success: respond
      })
    }
  },
  find: function(model, id, callback)
  {
    $.get('/' + model.table_name + '/' + id, function(response){
      var retrieved_object = JSON.parse(response);
      if(typeof callback === 'function')
      {
        retrieved_object.new_record = false;
        callback(retrieved_object);
      }
    })
  }
}

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
eyeballs-0.3.4.1 src/jquery.o_O.rails.js
eyeballs-0.3.4 src/jquery.o_O.rails.js
eyeballs-0.3.3.1 src/jquery.o_O.rails.js
eyeballs-0.3.3 src/jquery.o_O.rails.js
eyeballs-0.3.2 src/jquery.o_O.rails.js