Véase https://github.com/crguezl/sinatra-google-plus-simple
[~/src/ruby/sinatra/sinatra-google-plus(master)]$ tree . |--- Gemfile |--- Gemfile.lock |--- README.md |--- clientID.txt |--- config.yml |--- config.yml.example |--- public | |--- images | | `--- favicon.ico | |--- javascript | `--- stylesheets | `--- style.css |--- sinatragplus.rb `--- views |--- 404.erb |--- 500.erb |--- index.erb |--- layout.erb `--- show.erb 5 directories, 14 files
[~/src/ruby/sinatra/sinatra-google-plus(master)]$ cat sinatragplus.rb # sinatragplus.rb require 'sinatra' require "sinatra/config_file" require 'google_plus' config_file 'config.yml' error do erb :'500' end #class class GPlus def initialize(apikey, gid) @apikey = apikey @gid = gid get_info end attr_reader :row0, :row1, :row2, :logo private #Get info about specific G+ ID def get_info begin GooglePlus.api_key = @apikey person = GooglePlus::Person.get(@gid.to_i) @row0 = person.display_name @row1 = person.list_activities.items @row2 = person.url properties = person.attributes puts properties.class puts properties['image'].class @logo = properties['image']['url'] properties.each { |key, value| puts "%-20s %20s" % [key, value] } rescue Exception => msg # display the system generated error message puts msg end end end # Display Google+ details get '/' do @key = settings.key @user = settings.user @gplus = GPlus.new(@key, @user) erb :show end