mini_fb 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.markdown +11 -1
- data/lib/mini_fb.rb +28 -18
- metadata +3 -3
data/README.markdown
CHANGED
@@ -3,10 +3,17 @@ MiniFB - the simple miniature facebook library
|
|
3
3
|
|
4
4
|
MiniFB is a small, lightweight Ruby library for interacting with the [Facebook API](http://wiki.developers.facebook.com/index.php/API).
|
5
5
|
|
6
|
+
Brought to you by: [](http://www.appoxy.com)
|
7
|
+
|
6
8
|
Support
|
7
9
|
--------
|
8
10
|
|
9
|
-
Join our Discussion Group at: http://groups.google.com/group/mini_fb
|
11
|
+
Join our Discussion Group at: <http://groups.google.com/group/mini_fb>
|
12
|
+
|
13
|
+
Demo Rails Application
|
14
|
+
-------------------
|
15
|
+
|
16
|
+
There is a demo Rails app that uses mini_fb graph api at: [http://github.com/appoxy/mini_fb_demo](http://github.com/appoxy/mini_fb_demo)
|
10
17
|
|
11
18
|
Installation
|
12
19
|
-------------
|
@@ -48,6 +55,9 @@ It's very simple:
|
|
48
55
|
@id = {some ID of something in facebook} || "me"
|
49
56
|
@type = {some facebook type like feed, friends, or photos} # (optional) nil will just return the object data directly
|
50
57
|
@response_hash = MiniFB.get(@access_token, @id, :type=>@type)
|
58
|
+
# @response_hash is a hash, but also allows object like syntax for instance, the following is true:
|
59
|
+
@response_hash["user"] == @response_hash.user
|
60
|
+
|
51
61
|
|
52
62
|
Posting Data to Facebook
|
53
63
|
------------------------
|
data/lib/mini_fb.rb
CHANGED
@@ -339,19 +339,32 @@ module MiniFB
|
|
339
339
|
url << "/#{options[:type]}" if options[:type]
|
340
340
|
url << "?access_token=#{URI.escape(access_token)}"
|
341
341
|
url << "&metadata=1" if options[:metadata]
|
342
|
+
return fetch url
|
343
|
+
end
|
344
|
+
|
345
|
+
def self.fetch(url, options={})
|
342
346
|
puts 'url=' + url if @@logging
|
343
347
|
begin
|
344
|
-
|
348
|
+
if options[:type] == :post
|
349
|
+
resp = RestClient.post url, options[:params]
|
350
|
+
else
|
351
|
+
resp = RestClient.get url
|
352
|
+
end
|
353
|
+
puts 'resp=' + resp.body.to_s if @@logging
|
354
|
+
res_hash = JSON.parse(resp.body)
|
355
|
+
if res_hash.is_a? Array # fql queries return this
|
356
|
+
res_hash.collect! {|x| Hashie::Mash.new(x) }
|
357
|
+
else
|
358
|
+
res_hash = Hashie::Mash.new(res_hash)
|
359
|
+
end
|
360
|
+
return res_hash
|
345
361
|
rescue RestClient::Exception => ex
|
346
362
|
puts ex.http_code.to_s
|
347
363
|
puts 'ex.http_body=' + ex.http_body if @@logging
|
348
364
|
res_hash = JSON.parse(ex.http_body) # probably should ensure it has a good response
|
349
365
|
raise MiniFB::FaceBookError.new(ex.http_code, "#{res_hash["error"]["type"]}: #{res_hash["error"]["message"]}")
|
350
366
|
end
|
351
|
-
|
352
|
-
res_hash = JSON.parse(resp.body)
|
353
|
-
res_hash = Hashie::Mash.new(res_hash)
|
354
|
-
return res_hash
|
367
|
+
|
355
368
|
end
|
356
369
|
|
357
370
|
# options:
|
@@ -363,19 +376,16 @@ module MiniFB
|
|
363
376
|
params = {}
|
364
377
|
params["access_token"] = "#{(access_token)}"
|
365
378
|
params["metadata"] = "1" if options[:metadata]
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
res_hash = JSON.parse(resp.body)
|
377
|
-
res_hash = Hashie::Mash.new(res_hash)
|
378
|
-
return res_hash
|
379
|
+
return fetch url, :params=>params, :method=>:post
|
380
|
+
|
381
|
+
end
|
382
|
+
|
383
|
+
def self.fql(access_token, fql_query, options={})
|
384
|
+
url = "https://api.facebook.com/method/fql.query"
|
385
|
+
url << "?access_token=#{URI.escape(access_token)}"
|
386
|
+
url << "&query=#{URI.escape(fql_query)}"
|
387
|
+
url << "&format=JSON"
|
388
|
+
return fetch url
|
379
389
|
end
|
380
390
|
|
381
391
|
# Returns all available scopes.
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 1
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 1.0.
|
8
|
+
- 1
|
9
|
+
version: 1.0.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Travis Reeder
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-04-
|
18
|
+
date: 2010-04-30 00:00:00 -07:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|