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 
         
     |