Desenvolvendo Aplicativos Sociais com Rails 3

Post on 05-Jul-2015

4.846 views 3 download

description

Palestra realizada durante o RubyConf Brasil 2010.

Transcript of Desenvolvendo Aplicativos Sociais com Rails 3

Desenvolvendo Aplicativos Sociais com Rails 3

Carlos Brando

quarta-feira, 27 de outubro de 2010

quarta-feira, 27 de outubro de 2010

<?xml version="1.0" encoding="UTF-8" ?><Module> <ModulePrefs title="Standard gadget structure">  <Require feature="opensocial-0.8"/> </ModulePrefs> <Content type="html"> <![CDATA[      Hello, RubyConf! ]]> </Content></Module>

quarta-feira, 27 de outubro de 2010

<?xml version="1.0" encoding="UTF-8" ?><Module> <ModulePrefs title="Standard gadget structure">  <Require feature="opensocial-0.8"/> </ModulePrefs> <Content type="html"> <![CDATA[      Hello, RubyConf! ]]> </Content></Module>

quarta-feira, 27 de outubro de 2010

<?xml version="1.0" encoding="UTF-8" ?><Module> <ModulePrefs title="Standard gadget structure">  <Require feature="opensocial-0.8"/> </ModulePrefs> <Content type="html"> <![CDATA[      Hello, RubyConf! ]]> </Content></Module>

quarta-feira, 27 de outubro de 2010

<?xml version="1.0" encoding="UTF-8" ?><Module> <ModulePrefs title="Standard gadget structure">  <Require feature="opensocial-0.8"/> </ModulePrefs> <Content type="html"> <![CDATA[      Hello, RubyConf! ]]> </Content></Module>

quarta-feira, 27 de outubro de 2010

<?xml version="1.0" encoding="UTF-8" ?><Module> <ModulePrefs title="Standard gadget structure">  <Require feature="opensocial-0.8"/> </ModulePrefs> <Content type="html"> <![CDATA[      Hello, RubyConf! ]]> </Content></Module>

quarta-feira, 27 de outubro de 2010

<?xml version="1.0" encoding="UTF-8" ?><Module> <ModulePrefs title="Standard gadget structure">  <Require feature="opensocial-0.8"/> </ModulePrefs> <Content type="html"> <![CDATA[      Hello, RubyConf! ]]> </Content></Module>

quarta-feira, 27 de outubro de 2010

quarta-feira, 27 de outubro de 2010

Profilesquarta-feira, 27 de outubro de 2010

JSvar req = opensocial.newDataRequest();req.add(req.newFetchPersonRequest("OWNER"), "owner");req.send(fetchPersonHandler);

function fetchPersonHandler(data) { var owner = data.get('owner').getData(); alert(owner.getDisplayName());};

quarta-feira, 27 de outubro de 2010

REST

require 'oauth'require 'json'

uri = URI.parse "http://sandbox.orkut.com/social/rest/people/#{orkut_uid}/@self?xoauth_requestor_id=#{orkut_uid}"

http = Net::HTTP.new(uri.host, uri.port)req = Net::HTTP::Get.new(uri.request_uri)

consumer = OAuth::Consumer.new(CONSUMER_KEY, CONSUMER_SECRET)req.oauth!(http, consumer, nil, :scheme => 'query_string')

resp = http.get(req.path)JSON.parse(resp.body)

quarta-feira, 27 de outubro de 2010

Friendsquarta-feira, 27 de outubro de 2010

JSvar req = opensocial.newDataRequest();req.add(req.newFetchPersonRequest("VIEWER"), "viewer");

var viewerFriends = opensocial.newIdSpec({ "userId" : "VIEWER", "groupId" : "FRIENDS" });

req.add(req.newFetchPeopleRequest(viewerFriends, {}), 'viewerFriends');

req.send(onLoadFriends);

quarta-feira, 27 de outubro de 2010

REST

http://sandbox.orkut.com/social/rest/people/#{orkut_uid}/@all?xoauth_requestor_id=#{orkut_uid}&count=9999

quarta-feira, 27 de outubro de 2010

Activitiesquarta-feira, 27 de outubro de 2010

JSfunction sendMessage(messageTitle, messageBody, friend) { var params = []; params[opensocial.Message.Field.TITLE] = messageTitle; params[opensocial.Message.Field.TYPE] = opensocial.Message.Type.EMAIL; var message = opensocial.newMessage(messageBody, params); opensocial.requestSendMessage(friend, message, function() {});

}

quarta-feira, 27 de outubro de 2010

RESTquarta-feira, 27 de outubro de 2010

function loadInitialData() { var req = opensocial.newDataRequest(); req.add(req.newFetchPersonRequest("OWNER"), "owner"); req.add(req.newFetchPersonRequest("VIEWER"), "viewer"); req.send(function(dataResponse) { var owner = dataResponse.get('owner').getData(); var viewer = dataResponse.get('viewer').getData();

OWNER_ID = owner.getId(); VIEWER_ID = viewer.getId(); HOST_WITH_PORT = $('#host_with_port').val(); sendRequest('/speakers', {}, '#speakers'); });}gadgets.util.registerOnLoadHandler(loadInitialData);

quarta-feira, 27 de outubro de 2010

function loadInitialData() { var req = opensocial.newDataRequest(); req.add(req.newFetchPersonRequest("OWNER"), "owner"); req.add(req.newFetchPersonRequest("VIEWER"), "viewer"); req.send(function(dataResponse) { var owner = dataResponse.get('owner').getData(); var viewer = dataResponse.get('viewer').getData();

OWNER_ID = owner.getId(); VIEWER_ID = viewer.getId(); HOST_WITH_PORT = $('#host_with_port').val(); sendRequest('/speakers', {}, '#speakers'); });}gadgets.util.registerOnLoadHandler(loadInitialData);

quarta-feira, 27 de outubro de 2010

function loadInitialData() { var req = opensocial.newDataRequest(); req.add(req.newFetchPersonRequest("OWNER"), "owner"); req.add(req.newFetchPersonRequest("VIEWER"), "viewer"); req.send(function(dataResponse) { var owner = dataResponse.get('owner').getData(); var viewer = dataResponse.get('viewer').getData();

OWNER_ID = owner.getId(); VIEWER_ID = viewer.getId(); HOST_WITH_PORT = $('#host_with_port').val(); sendRequest('/speakers', {}, '#speakers'); });}gadgets.util.registerOnLoadHandler(loadInitialData);

quarta-feira, 27 de outubro de 2010

function loadInitialData() { var req = opensocial.newDataRequest(); req.add(req.newFetchPersonRequest("OWNER"), "owner"); req.add(req.newFetchPersonRequest("VIEWER"), "viewer"); req.send(function(dataResponse) { var owner = dataResponse.get('owner').getData(); var viewer = dataResponse.get('viewer').getData();

OWNER_ID = owner.getId(); VIEWER_ID = viewer.getId(); HOST_WITH_PORT = $('#host_with_port').val(); sendRequest('/speakers', {}, '#speakers'); });}gadgets.util.registerOnLoadHandler(loadInitialData);

quarta-feira, 27 de outubro de 2010

function loadInitialData() { var req = opensocial.newDataRequest(); req.add(req.newFetchPersonRequest("OWNER"), "owner"); req.add(req.newFetchPersonRequest("VIEWER"), "viewer"); req.send(function(dataResponse) { var owner = dataResponse.get('owner').getData(); var viewer = dataResponse.get('viewer').getData();

OWNER_ID = owner.getId(); VIEWER_ID = viewer.getId(); HOST_WITH_PORT = $('#host_with_port').val(); sendRequest('/speakers', {}, '#speakers'); });}gadgets.util.registerOnLoadHandler(loadInitialData);

quarta-feira, 27 de outubro de 2010

function loadInitialData() { var req = opensocial.newDataRequest(); req.add(req.newFetchPersonRequest("OWNER"), "owner"); req.add(req.newFetchPersonRequest("VIEWER"), "viewer"); req.send(function(dataResponse) { var owner = dataResponse.get('owner').getData(); var viewer = dataResponse.get('viewer').getData();

OWNER_ID = owner.getId(); VIEWER_ID = viewer.getId(); HOST_WITH_PORT = $('#host_with_port').val(); sendRequest('/speakers', {}, '#speakers'); });}gadgets.util.registerOnLoadHandler(loadInitialData);

quarta-feira, 27 de outubro de 2010

function loadInitialData() { var req = opensocial.newDataRequest(); req.add(req.newFetchPersonRequest("OWNER"), "owner"); req.add(req.newFetchPersonRequest("VIEWER"), "viewer"); req.send(function(dataResponse) { var owner = dataResponse.get('owner').getData(); var viewer = dataResponse.get('viewer').getData();

OWNER_ID = owner.getId(); VIEWER_ID = viewer.getId(); HOST_WITH_PORT = $('#host_with_port').val(); sendRequest('/speakers', {}, '#speakers'); });}gadgets.util.registerOnLoadHandler(loadInitialData);

quarta-feira, 27 de outubro de 2010

function sendRequest(path, options, element) { var querystring = '?owner_id=' + OWNER_ID + '&viewer_id=' + VIEWER_ID; if (options) { $.each(options, function(index, val) { querystring = querystring + '&' + index + '=' + val; }); }; var url = HOST_WITH_PORT + '/opensocial' + path + querystring; var params = {}; params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT; makeCachedRequest(encodeURI(url), function(result) { $(element).html(result.text); gadgets.window.adjustHeight(); }, params, 0);}

quarta-feira, 27 de outubro de 2010

function sendRequest(path, options, element) { var querystring = '?owner_id=' + OWNER_ID + '&viewer_id=' + VIEWER_ID; if (options) { $.each(options, function(index, val) { querystring = querystring + '&' + index + '=' + val; }); }; var url = HOST_WITH_PORT + '/opensocial' + path + querystring; var params = {}; params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT; makeCachedRequest(encodeURI(url), function(result) { $(element).html(result.text); gadgets.window.adjustHeight(); }, params, 0);}

quarta-feira, 27 de outubro de 2010

function sendRequest(path, options, element) { var querystring = '?owner_id=' + OWNER_ID + '&viewer_id=' + VIEWER_ID; if (options) { $.each(options, function(index, val) { querystring = querystring + '&' + index + '=' + val; }); }; var url = HOST_WITH_PORT + '/opensocial' + path + querystring; var params = {}; params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT; makeCachedRequest(encodeURI(url), function(result) { $(element).html(result.text); gadgets.window.adjustHeight(); }, params, 0);}

quarta-feira, 27 de outubro de 2010

function sendRequest(path, options, element) { var querystring = '?owner_id=' + OWNER_ID + '&viewer_id=' + VIEWER_ID; if (options) { $.each(options, function(index, val) { querystring = querystring + '&' + index + '=' + val; }); }; var url = HOST_WITH_PORT + '/opensocial' + path + querystring; var params = {}; params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT; makeCachedRequest(encodeURI(url), function(result) { $(element).html(result.text); gadgets.window.adjustHeight(); }, params, 0);}

quarta-feira, 27 de outubro de 2010

function sendRequest(path, options, element) { var querystring = '?owner_id=' + OWNER_ID + '&viewer_id=' + VIEWER_ID; if (options) { $.each(options, function(index, val) { querystring = querystring + '&' + index + '=' + val; }); }; var url = HOST_WITH_PORT + '/opensocial' + path + querystring; var params = {}; params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT; makeCachedRequest(encodeURI(url), function(result) { $(element).html(result.text); gadgets.window.adjustHeight(); }, params, 0);}

quarta-feira, 27 de outubro de 2010

function sendRequest(path, options, element) { var querystring = '?owner_id=' + OWNER_ID + '&viewer_id=' + VIEWER_ID; if (options) { $.each(options, function(index, val) { querystring = querystring + '&' + index + '=' + val; }); }; var url = HOST_WITH_PORT + '/opensocial' + path + querystring; var params = {}; params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT; makeCachedRequest(encodeURI(url), function(result) { $(element).html(result.text); gadgets.window.adjustHeight(); }, params, 0);}

quarta-feira, 27 de outubro de 2010

@carlosbrando

www.nomedojogo.com

quarta-feira, 27 de outubro de 2010