Sha256: fc0b03945dc618098360f7972f547a4bd6e05d647ad6b010bae7716691e67fc1
Contents?: true
Size: 1.41 KB
Versions: 1
Compression:
Stored size: 1.41 KB
Contents
module FBGraph class Base attr_reader :objects , :connection_type def initialize(client) @client = client end def find(objects) @objects = objects return self end def connection(connection_type) @connection_type = connection_type return self end def params(params) @params = params return self end def info(parsed = true) if @objects.is_a? Array @params.merge!({:ids => ids.join(',')}) uri = build_open_graph_uri(nil , nil , @params) elsif @objects.is_a? String uri = build_open_graph_uri(@objects , @connection_type , @params) end result = @client.consumer.get(uri) return parsed ? JSON.parse(result) : result end def publish(parsed = true) consume!(:post , parsed) end def delete(parsed = true) @params = {:method => 'delete'} consume!(:post, parsed) end private def build_open_graph_uri(id,connection_type = nil, params = {}) request = "/" + [id , connection_type].compact.join('/') request += "?"+params.to_a.map{|p| p.join('=')}.join('&') request end def consume!(verb, parse) uri = build_open_graph_uri(@objects , @connection_type , @params) result = @client.consumer.send(verb,uri) return parsed ? JSON.parse(result) : result end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fbgraph-0.0.2 | lib/fbgraph/base.rb |