facebooker 1.0.29 → 1.0.30
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/.autotest +15 -0
 - data/Manifest.txt +129 -0
 - data/Rakefile +2 -3
 - data/examples/desktop_login.rb +14 -0
 - data/facebooker.gemspec +43 -0
 - data/lib/facebooker.rb +41 -39
 - data/lib/facebooker/adapters/adapter_base.rb +3 -2
 - data/lib/facebooker/adapters/bebo_adapter.rb +6 -4
 - data/lib/facebooker/batch_request.rb +11 -10
 - data/lib/facebooker/logging.rb +6 -13
 - data/lib/facebooker/mobile.rb +2 -2
 - data/lib/facebooker/model.rb +15 -13
 - data/lib/facebooker/models/applicationproperties.rb +1 -1
 - data/lib/facebooker/models/applicationrestrictions.rb +3 -3
 - data/lib/facebooker/models/event.rb +2 -2
 - data/lib/facebooker/models/friend_list.rb +2 -2
 - data/lib/facebooker/models/group.rb +4 -4
 - data/lib/facebooker/models/page.rb +3 -2
 - data/lib/facebooker/models/photo.rb +2 -2
 - data/lib/facebooker/models/user.rb +13 -5
 - data/lib/facebooker/models/work_info.rb +3 -2
 - data/lib/facebooker/rails/controller.rb +6 -1
 - data/lib/facebooker/rails/facebook_request_fix.rb +12 -8
 - data/lib/facebooker/rails/facebook_session_handling.rb +1 -2
 - data/lib/facebooker/rails/facebook_url_rewriting.rb +14 -11
 - data/lib/facebooker/rails/helpers.rb +4 -3
 - data/lib/facebooker/rails/helpers/fb_connect.rb +8 -2
 - data/lib/facebooker/rails/publisher.rb +36 -30
 - data/lib/facebooker/session.rb +81 -73
 - data/lib/facebooker/version.rb +1 -1
 - data/test/facebooker/adapters_test.rb +23 -23
 - data/test/facebooker/model_test.rb +10 -0
 - data/test/facebooker/rails/publisher_test.rb +97 -88
 - data/test/facebooker/rails_integration_test.rb +44 -43
 - data/test/facebooker/session_test.rb +5 -5
 - data/test/rack/facebook_test.rb +2 -3
 - data/test/rails_test_helper.rb +14 -0
 - data/test/test_helper.rb +5 -4
 - metadata +31 -17
 
    
        data/.autotest
    ADDED
    
    | 
         @@ -0,0 +1,15 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            Autotest.add_hook(:initialize) do |at|
         
     | 
| 
      
 2 
     | 
    
         
            +
              at.clear_mappings
         
     | 
| 
      
 3 
     | 
    
         
            +
              at.find_directories = %w(lib test)
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
              at.add_exception("test/test_helper.rb")
         
     | 
| 
      
 6 
     | 
    
         
            +
              at.add_exception("test/rails_test_helper.rb")
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
              at.add_mapping(/^lib\/.*\.rb$/) do |file, _|
         
     | 
| 
      
 9 
     | 
    
         
            +
                at.files_matching(/^test\/.*_test\.rb$/)
         
     | 
| 
      
 10 
     | 
    
         
            +
              end
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
              at.add_mapping(/^test\/.*_test\.rb$/) do |file, _|
         
     | 
| 
      
 13 
     | 
    
         
            +
                file
         
     | 
| 
      
 14 
     | 
    
         
            +
              end
         
     | 
| 
      
 15 
     | 
    
         
            +
            end
         
     | 
    
        data/Manifest.txt
    ADDED
    
    | 
         @@ -0,0 +1,129 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            .autotest
         
     | 
| 
      
 2 
     | 
    
         
            +
            CHANGELOG.rdoc
         
     | 
| 
      
 3 
     | 
    
         
            +
            COPYING.rdoc
         
     | 
| 
      
 4 
     | 
    
         
            +
            Manifest.txt
         
     | 
| 
      
 5 
     | 
    
         
            +
            README.rdoc
         
     | 
| 
      
 6 
     | 
    
         
            +
            Rakefile
         
     | 
| 
      
 7 
     | 
    
         
            +
            TODO.rdoc
         
     | 
| 
      
 8 
     | 
    
         
            +
            examples/desktop_login.rb
         
     | 
| 
      
 9 
     | 
    
         
            +
            facebooker.gemspec
         
     | 
| 
      
 10 
     | 
    
         
            +
            generators/facebook/facebook_generator.rb
         
     | 
| 
      
 11 
     | 
    
         
            +
            generators/facebook/templates/config/facebooker.yml
         
     | 
| 
      
 12 
     | 
    
         
            +
            generators/facebook/templates/public/javascripts/facebooker.js
         
     | 
| 
      
 13 
     | 
    
         
            +
            generators/facebook_controller/USAGE
         
     | 
| 
      
 14 
     | 
    
         
            +
            generators/facebook_controller/facebook_controller_generator.rb
         
     | 
| 
      
 15 
     | 
    
         
            +
            generators/facebook_controller/templates/controller.rb
         
     | 
| 
      
 16 
     | 
    
         
            +
            generators/facebook_controller/templates/functional_test.rb
         
     | 
| 
      
 17 
     | 
    
         
            +
            generators/facebook_controller/templates/helper.rb
         
     | 
| 
      
 18 
     | 
    
         
            +
            generators/facebook_controller/templates/view.fbml.erb
         
     | 
| 
      
 19 
     | 
    
         
            +
            generators/facebook_controller/templates/view.html.erb
         
     | 
| 
      
 20 
     | 
    
         
            +
            generators/facebook_publisher/facebook_publisher_generator.rb
         
     | 
| 
      
 21 
     | 
    
         
            +
            generators/facebook_publisher/templates/create_facebook_templates.rb
         
     | 
| 
      
 22 
     | 
    
         
            +
            generators/facebook_publisher/templates/publisher.rb
         
     | 
| 
      
 23 
     | 
    
         
            +
            generators/facebook_scaffold/USAGE
         
     | 
| 
      
 24 
     | 
    
         
            +
            generators/facebook_scaffold/facebook_scaffold_generator.rb
         
     | 
| 
      
 25 
     | 
    
         
            +
            generators/facebook_scaffold/templates/controller.rb
         
     | 
| 
      
 26 
     | 
    
         
            +
            generators/facebook_scaffold/templates/facebook_style.css
         
     | 
| 
      
 27 
     | 
    
         
            +
            generators/facebook_scaffold/templates/functional_test.rb
         
     | 
| 
      
 28 
     | 
    
         
            +
            generators/facebook_scaffold/templates/helper.rb
         
     | 
| 
      
 29 
     | 
    
         
            +
            generators/facebook_scaffold/templates/layout.fbml.erb
         
     | 
| 
      
 30 
     | 
    
         
            +
            generators/facebook_scaffold/templates/layout.html.erb
         
     | 
| 
      
 31 
     | 
    
         
            +
            generators/facebook_scaffold/templates/style.css
         
     | 
| 
      
 32 
     | 
    
         
            +
            generators/facebook_scaffold/templates/view_edit.fbml.erb
         
     | 
| 
      
 33 
     | 
    
         
            +
            generators/facebook_scaffold/templates/view_edit.html.erb
         
     | 
| 
      
 34 
     | 
    
         
            +
            generators/facebook_scaffold/templates/view_index.fbml.erb
         
     | 
| 
      
 35 
     | 
    
         
            +
            generators/facebook_scaffold/templates/view_index.html.erb
         
     | 
| 
      
 36 
     | 
    
         
            +
            generators/facebook_scaffold/templates/view_new.fbml.erb
         
     | 
| 
      
 37 
     | 
    
         
            +
            generators/facebook_scaffold/templates/view_new.html.erb
         
     | 
| 
      
 38 
     | 
    
         
            +
            generators/facebook_scaffold/templates/view_show.fbml.erb
         
     | 
| 
      
 39 
     | 
    
         
            +
            generators/facebook_scaffold/templates/view_show.html.erb
         
     | 
| 
      
 40 
     | 
    
         
            +
            generators/publisher/publisher_generator.rb
         
     | 
| 
      
 41 
     | 
    
         
            +
            generators/xd_receiver/templates/xd_receiver.html
         
     | 
| 
      
 42 
     | 
    
         
            +
            generators/xd_receiver/xd_receiver_generator.rb
         
     | 
| 
      
 43 
     | 
    
         
            +
            init.rb
         
     | 
| 
      
 44 
     | 
    
         
            +
            install.rb
         
     | 
| 
      
 45 
     | 
    
         
            +
            lib/facebooker.rb
         
     | 
| 
      
 46 
     | 
    
         
            +
            lib/facebooker/adapters/adapter_base.rb
         
     | 
| 
      
 47 
     | 
    
         
            +
            lib/facebooker/adapters/bebo_adapter.rb
         
     | 
| 
      
 48 
     | 
    
         
            +
            lib/facebooker/adapters/facebook_adapter.rb
         
     | 
| 
      
 49 
     | 
    
         
            +
            lib/facebooker/admin.rb
         
     | 
| 
      
 50 
     | 
    
         
            +
            lib/facebooker/batch_request.rb
         
     | 
| 
      
 51 
     | 
    
         
            +
            lib/facebooker/data.rb
         
     | 
| 
      
 52 
     | 
    
         
            +
            lib/facebooker/feed.rb
         
     | 
| 
      
 53 
     | 
    
         
            +
            lib/facebooker/logging.rb
         
     | 
| 
      
 54 
     | 
    
         
            +
            lib/facebooker/mobile.rb
         
     | 
| 
      
 55 
     | 
    
         
            +
            lib/facebooker/mock/service.rb
         
     | 
| 
      
 56 
     | 
    
         
            +
            lib/facebooker/mock/session.rb
         
     | 
| 
      
 57 
     | 
    
         
            +
            lib/facebooker/model.rb
         
     | 
| 
      
 58 
     | 
    
         
            +
            lib/facebooker/models/affiliation.rb
         
     | 
| 
      
 59 
     | 
    
         
            +
            lib/facebooker/models/album.rb
         
     | 
| 
      
 60 
     | 
    
         
            +
            lib/facebooker/models/applicationproperties.rb
         
     | 
| 
      
 61 
     | 
    
         
            +
            lib/facebooker/models/applicationrestrictions.rb
         
     | 
| 
      
 62 
     | 
    
         
            +
            lib/facebooker/models/cookie.rb
         
     | 
| 
      
 63 
     | 
    
         
            +
            lib/facebooker/models/education_info.rb
         
     | 
| 
      
 64 
     | 
    
         
            +
            lib/facebooker/models/event.rb
         
     | 
| 
      
 65 
     | 
    
         
            +
            lib/facebooker/models/friend_list.rb
         
     | 
| 
      
 66 
     | 
    
         
            +
            lib/facebooker/models/group.rb
         
     | 
| 
      
 67 
     | 
    
         
            +
            lib/facebooker/models/info_item.rb
         
     | 
| 
      
 68 
     | 
    
         
            +
            lib/facebooker/models/info_section.rb
         
     | 
| 
      
 69 
     | 
    
         
            +
            lib/facebooker/models/location.rb
         
     | 
| 
      
 70 
     | 
    
         
            +
            lib/facebooker/models/notifications.rb
         
     | 
| 
      
 71 
     | 
    
         
            +
            lib/facebooker/models/page.rb
         
     | 
| 
      
 72 
     | 
    
         
            +
            lib/facebooker/models/photo.rb
         
     | 
| 
      
 73 
     | 
    
         
            +
            lib/facebooker/models/tag.rb
         
     | 
| 
      
 74 
     | 
    
         
            +
            lib/facebooker/models/user.rb
         
     | 
| 
      
 75 
     | 
    
         
            +
            lib/facebooker/models/video.rb
         
     | 
| 
      
 76 
     | 
    
         
            +
            lib/facebooker/models/work_info.rb
         
     | 
| 
      
 77 
     | 
    
         
            +
            lib/facebooker/parser.rb
         
     | 
| 
      
 78 
     | 
    
         
            +
            lib/facebooker/rails/controller.rb
         
     | 
| 
      
 79 
     | 
    
         
            +
            lib/facebooker/rails/cucumber.rb
         
     | 
| 
      
 80 
     | 
    
         
            +
            lib/facebooker/rails/cucumber/world.rb
         
     | 
| 
      
 81 
     | 
    
         
            +
            lib/facebooker/rails/extensions/action_controller.rb
         
     | 
| 
      
 82 
     | 
    
         
            +
            lib/facebooker/rails/extensions/rack_setup.rb
         
     | 
| 
      
 83 
     | 
    
         
            +
            lib/facebooker/rails/extensions/routing.rb
         
     | 
| 
      
 84 
     | 
    
         
            +
            lib/facebooker/rails/facebook_form_builder.rb
         
     | 
| 
      
 85 
     | 
    
         
            +
            lib/facebooker/rails/facebook_pretty_errors.rb
         
     | 
| 
      
 86 
     | 
    
         
            +
            lib/facebooker/rails/facebook_request_fix.rb
         
     | 
| 
      
 87 
     | 
    
         
            +
            lib/facebooker/rails/facebook_session_handling.rb
         
     | 
| 
      
 88 
     | 
    
         
            +
            lib/facebooker/rails/facebook_url_helper.rb
         
     | 
| 
      
 89 
     | 
    
         
            +
            lib/facebooker/rails/facebook_url_rewriting.rb
         
     | 
| 
      
 90 
     | 
    
         
            +
            lib/facebooker/rails/helpers.rb
         
     | 
| 
      
 91 
     | 
    
         
            +
            lib/facebooker/rails/helpers/fb_connect.rb
         
     | 
| 
      
 92 
     | 
    
         
            +
            lib/facebooker/rails/integration_session.rb
         
     | 
| 
      
 93 
     | 
    
         
            +
            lib/facebooker/rails/profile_publisher_extensions.rb
         
     | 
| 
      
 94 
     | 
    
         
            +
            lib/facebooker/rails/publisher.rb
         
     | 
| 
      
 95 
     | 
    
         
            +
            lib/facebooker/rails/routing.rb
         
     | 
| 
      
 96 
     | 
    
         
            +
            lib/facebooker/rails/test_helpers.rb
         
     | 
| 
      
 97 
     | 
    
         
            +
            lib/facebooker/rails/utilities.rb
         
     | 
| 
      
 98 
     | 
    
         
            +
            lib/facebooker/server_cache.rb
         
     | 
| 
      
 99 
     | 
    
         
            +
            lib/facebooker/service.rb
         
     | 
| 
      
 100 
     | 
    
         
            +
            lib/facebooker/session.rb
         
     | 
| 
      
 101 
     | 
    
         
            +
            lib/facebooker/version.rb
         
     | 
| 
      
 102 
     | 
    
         
            +
            lib/net/http_multipart_post.rb
         
     | 
| 
      
 103 
     | 
    
         
            +
            lib/rack/facebook.rb
         
     | 
| 
      
 104 
     | 
    
         
            +
            lib/tasks/facebooker.rake
         
     | 
| 
      
 105 
     | 
    
         
            +
            lib/tasks/tunnel.rake
         
     | 
| 
      
 106 
     | 
    
         
            +
            rails/init.rb
         
     | 
| 
      
 107 
     | 
    
         
            +
            setup.rb
         
     | 
| 
      
 108 
     | 
    
         
            +
            templates/layout.erb
         
     | 
| 
      
 109 
     | 
    
         
            +
            test/facebooker/adapters_test.rb
         
     | 
| 
      
 110 
     | 
    
         
            +
            test/facebooker/admin_test.rb
         
     | 
| 
      
 111 
     | 
    
         
            +
            test/facebooker/batch_request_test.rb
         
     | 
| 
      
 112 
     | 
    
         
            +
            test/facebooker/data_test.rb
         
     | 
| 
      
 113 
     | 
    
         
            +
            test/facebooker/logging_test.rb
         
     | 
| 
      
 114 
     | 
    
         
            +
            test/facebooker/mobile_test.rb
         
     | 
| 
      
 115 
     | 
    
         
            +
            test/facebooker/model_test.rb
         
     | 
| 
      
 116 
     | 
    
         
            +
            test/facebooker/models/event_test.rb
         
     | 
| 
      
 117 
     | 
    
         
            +
            test/facebooker/models/user_test.rb
         
     | 
| 
      
 118 
     | 
    
         
            +
            test/facebooker/rails/publisher_test.rb
         
     | 
| 
      
 119 
     | 
    
         
            +
            test/facebooker/rails_integration_test.rb
         
     | 
| 
      
 120 
     | 
    
         
            +
            test/facebooker/server_cache_test.rb
         
     | 
| 
      
 121 
     | 
    
         
            +
            test/facebooker/session_test.rb
         
     | 
| 
      
 122 
     | 
    
         
            +
            test/facebooker_test.rb
         
     | 
| 
      
 123 
     | 
    
         
            +
            test/fixtures/multipart_post_body_with_only_parameters.txt
         
     | 
| 
      
 124 
     | 
    
         
            +
            test/fixtures/multipart_post_body_with_single_file.txt
         
     | 
| 
      
 125 
     | 
    
         
            +
            test/fixtures/multipart_post_body_with_single_file_that_has_nil_key.txt
         
     | 
| 
      
 126 
     | 
    
         
            +
            test/net/http_multipart_post_test.rb
         
     | 
| 
      
 127 
     | 
    
         
            +
            test/rack/facebook_test.rb
         
     | 
| 
      
 128 
     | 
    
         
            +
            test/rails_test_helper.rb
         
     | 
| 
      
 129 
     | 
    
         
            +
            test/test_helper.rb
         
     | 
    
        data/Rakefile
    CHANGED
    
    | 
         @@ -1,7 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # -*- ruby -*-
         
     | 
| 
       2 
2 
     | 
    
         
             
            # 
         
     | 
| 
       3 
3 
     | 
    
         
             
            require 'rubygems'
         
     | 
| 
       4 
     | 
    
         
            -
            ENV['RUBY_FLAGS']="-I#{%w(lib ext bin test).join(File::PATH_SEPARATOR)}"
         
     | 
| 
       5 
4 
     | 
    
         
             
            require 'hoe'
         
     | 
| 
       6 
5 
     | 
    
         
             
            begin
         
     | 
| 
       7 
6 
     | 
    
         
             
              require 'load_multi_rails_rake_tasks'
         
     | 
| 
         @@ -20,13 +19,13 @@ HOE = Hoe.new('facebooker', Facebooker::VERSION::STRING) do |p| 
     | 
|
| 
       20 
19 
     | 
    
         
             
              p.history_file  = 'CHANGELOG.rdoc'
         
     | 
| 
       21 
20 
     | 
    
         
             
              p.remote_rdoc_dir = '' # Release to root
         
     | 
| 
       22 
21 
     | 
    
         
             
              p.test_globs = 'test/**/*_test.rb'
         
     | 
| 
       23 
     | 
    
         
            -
              p.extra_deps << ['json', '>= 1.0.0'] 
     | 
| 
      
 22 
     | 
    
         
            +
              p.extra_deps << ['json', '>= 1.0.0']
         
     | 
| 
       24 
23 
     | 
    
         
             
              p.extra_rdoc_files  = FileList['*.rdoc']
         
     | 
| 
       25 
24 
     | 
    
         
             
            end
         
     | 
| 
       26 
25 
     | 
    
         | 
| 
       27 
26 
     | 
    
         
             
            require 'rcov/rcovtask'
         
     | 
| 
       28 
27 
     | 
    
         | 
| 
       29 
     | 
    
         
            -
            namespace :test do 
     | 
| 
      
 28 
     | 
    
         
            +
            namespace :test do
         
     | 
| 
       30 
29 
     | 
    
         
             
              namespace :coverage do
         
     | 
| 
       31 
30 
     | 
    
         
             
                desc "Delete aggregate coverage data."
         
     | 
| 
       32 
31 
     | 
    
         
             
                task(:clean) { rm_f "coverage.data" }
         
     | 
| 
         @@ -0,0 +1,14 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            $: << File.join(File.dirname(__FILE__), "..", 'lib')
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'facebooker'
         
     | 
| 
      
 3 
     | 
    
         
            +
            load "~/.facebooker" rescue fail("You'll need to specify API_KEY and SECRET_KEY to run this example.  One way to do that would be to put them in ~/.facebooker")
         
     | 
| 
      
 4 
     | 
    
         
            +
            session = Facebooker::Session::Desktop.create(API_KEY, SECRET_KEY)
         
     | 
| 
      
 5 
     | 
    
         
            +
            puts session.login_url
         
     | 
| 
      
 6 
     | 
    
         
            +
            gets
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
            session.user.friends!.each do |user|
         
     | 
| 
      
 9 
     | 
    
         
            +
              puts "#{user.id}:#{user.name}"
         
     | 
| 
      
 10 
     | 
    
         
            +
            end
         
     | 
| 
      
 11 
     | 
    
         
            +
            # This time all the data is there because friends! has already retrieved it.
         
     | 
| 
      
 12 
     | 
    
         
            +
            session.user.friends.each do |user|
         
     | 
| 
      
 13 
     | 
    
         
            +
                puts "#{user.id}:#{user.name}"
         
     | 
| 
      
 14 
     | 
    
         
            +
            end
         
     | 
    
        data/facebooker.gemspec
    ADDED
    
    | 
         @@ -0,0 +1,43 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # -*- encoding: utf-8 -*-
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            Gem::Specification.new do |s|
         
     | 
| 
      
 4 
     | 
    
         
            +
              s.name = %q{facebooker}
         
     | 
| 
      
 5 
     | 
    
         
            +
              s.version = "1.0.30"
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         
     | 
| 
      
 8 
     | 
    
         
            +
              s.authors = ["Chad Fowler", "Patrick Ewing", "Mike Mangino", "Shane Vitarana", "Corey Innis"]
         
     | 
| 
      
 9 
     | 
    
         
            +
              s.date = %q{2009-04-29}
         
     | 
| 
      
 10 
     | 
    
         
            +
              s.description = %q{Facebooker is a Ruby wrapper over the Facebook[http://facebook.com] {REST API}[http://wiki.developers.facebook.com/index.php/API].  Its goals are:
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            * Idiomatic Ruby
         
     | 
| 
      
 13 
     | 
    
         
            +
            * No dependencies outside of the Ruby standard library (This is true with Rails 2.1. Previous Rails versions require the JSON gem)
         
     | 
| 
      
 14 
     | 
    
         
            +
            * Concrete classes and methods modeling the Facebook data, so it's easy for a Rubyist to understand what's available
         
     | 
| 
      
 15 
     | 
    
         
            +
            * Well tested}
         
     | 
| 
      
 16 
     | 
    
         
            +
              s.email = %q{mmangino@elevatedrails.com}
         
     | 
| 
      
 17 
     | 
    
         
            +
              s.extra_rdoc_files = ["Manifest.txt", "CHANGELOG.rdoc", "COPYING.rdoc", "README.rdoc", "TODO.rdoc"]
         
     | 
| 
      
 18 
     | 
    
         
            +
              s.files = [".autotest", "CHANGELOG.rdoc", "COPYING.rdoc", "Manifest.txt", "README.rdoc", "Rakefile", "TODO.rdoc", "examples/desktop_login.rb", "facebooker.gemspec", "generators/facebook/facebook_generator.rb", "generators/facebook/templates/config/facebooker.yml", "generators/facebook/templates/public/javascripts/facebooker.js", "generators/facebook_controller/USAGE", "generators/facebook_controller/facebook_controller_generator.rb", "generators/facebook_controller/templates/controller.rb", "generators/facebook_controller/templates/functional_test.rb", "generators/facebook_controller/templates/helper.rb", "generators/facebook_controller/templates/view.fbml.erb", "generators/facebook_controller/templates/view.html.erb", "generators/facebook_publisher/facebook_publisher_generator.rb", "generators/facebook_publisher/templates/create_facebook_templates.rb", "generators/facebook_publisher/templates/publisher.rb", "generators/facebook_scaffold/USAGE", "generators/facebook_scaffold/facebook_scaffold_generator.rb", "generators/facebook_scaffold/templates/controller.rb", "generators/facebook_scaffold/templates/facebook_style.css", "generators/facebook_scaffold/templates/functional_test.rb", "generators/facebook_scaffold/templates/helper.rb", "generators/facebook_scaffold/templates/layout.fbml.erb", "generators/facebook_scaffold/templates/layout.html.erb", "generators/facebook_scaffold/templates/style.css", "generators/facebook_scaffold/templates/view_edit.fbml.erb", "generators/facebook_scaffold/templates/view_edit.html.erb", "generators/facebook_scaffold/templates/view_index.fbml.erb", "generators/facebook_scaffold/templates/view_index.html.erb", "generators/facebook_scaffold/templates/view_new.fbml.erb", "generators/facebook_scaffold/templates/view_new.html.erb", "generators/facebook_scaffold/templates/view_show.fbml.erb", "generators/facebook_scaffold/templates/view_show.html.erb", "generators/publisher/publisher_generator.rb", "generators/xd_receiver/templates/xd_receiver.html", "generators/xd_receiver/xd_receiver_generator.rb", "init.rb", "install.rb", "lib/facebooker.rb", "lib/facebooker/adapters/adapter_base.rb", "lib/facebooker/adapters/bebo_adapter.rb", "lib/facebooker/adapters/facebook_adapter.rb", "lib/facebooker/admin.rb", "lib/facebooker/batch_request.rb", "lib/facebooker/data.rb", "lib/facebooker/feed.rb", "lib/facebooker/logging.rb", "lib/facebooker/mobile.rb", "lib/facebooker/mock/service.rb", "lib/facebooker/mock/session.rb", "lib/facebooker/model.rb", "lib/facebooker/models/affiliation.rb", "lib/facebooker/models/album.rb", "lib/facebooker/models/applicationproperties.rb", "lib/facebooker/models/applicationrestrictions.rb", "lib/facebooker/models/cookie.rb", "lib/facebooker/models/education_info.rb", "lib/facebooker/models/event.rb", "lib/facebooker/models/friend_list.rb", "lib/facebooker/models/group.rb", "lib/facebooker/models/info_item.rb", "lib/facebooker/models/info_section.rb", "lib/facebooker/models/location.rb", "lib/facebooker/models/notifications.rb", "lib/facebooker/models/page.rb", "lib/facebooker/models/photo.rb", "lib/facebooker/models/tag.rb", "lib/facebooker/models/user.rb", "lib/facebooker/models/video.rb", "lib/facebooker/models/work_info.rb", "lib/facebooker/parser.rb", "lib/facebooker/rails/controller.rb", "lib/facebooker/rails/cucumber.rb", "lib/facebooker/rails/cucumber/world.rb", "lib/facebooker/rails/extensions/action_controller.rb", "lib/facebooker/rails/extensions/rack_setup.rb", "lib/facebooker/rails/extensions/routing.rb", "lib/facebooker/rails/facebook_form_builder.rb", "lib/facebooker/rails/facebook_pretty_errors.rb", "lib/facebooker/rails/facebook_request_fix.rb", "lib/facebooker/rails/facebook_session_handling.rb", "lib/facebooker/rails/facebook_url_helper.rb", "lib/facebooker/rails/facebook_url_rewriting.rb", "lib/facebooker/rails/helpers.rb", "lib/facebooker/rails/helpers/fb_connect.rb", "lib/facebooker/rails/integration_session.rb", "lib/facebooker/rails/profile_publisher_extensions.rb", "lib/facebooker/rails/publisher.rb", "lib/facebooker/rails/routing.rb", "lib/facebooker/rails/test_helpers.rb", "lib/facebooker/rails/utilities.rb", "lib/facebooker/server_cache.rb", "lib/facebooker/service.rb", "lib/facebooker/session.rb", "lib/facebooker/version.rb", "lib/net/http_multipart_post.rb", "lib/rack/facebook.rb", "lib/tasks/facebooker.rake", "lib/tasks/tunnel.rake", "rails/init.rb", "setup.rb", "templates/layout.erb", "test/facebooker/adapters_test.rb", "test/facebooker/admin_test.rb", "test/facebooker/batch_request_test.rb", "test/facebooker/data_test.rb", "test/facebooker/logging_test.rb", "test/facebooker/mobile_test.rb", "test/facebooker/model_test.rb", "test/facebooker/models/event_test.rb", "test/facebooker/models/user_test.rb", "test/facebooker/rails/publisher_test.rb", "test/facebooker/rails_integration_test.rb", "test/facebooker/server_cache_test.rb", "test/facebooker/session_test.rb", "test/facebooker_test.rb", "test/fixtures/multipart_post_body_with_only_parameters.txt", "test/fixtures/multipart_post_body_with_single_file.txt", "test/fixtures/multipart_post_body_with_single_file_that_has_nil_key.txt", "test/net/http_multipart_post_test.rb", "test/rack/facebook_test.rb", "test/rails_test_helper.rb", "test/test_helper.rb"]
         
     | 
| 
      
 19 
     | 
    
         
            +
              s.has_rdoc = true
         
     | 
| 
      
 20 
     | 
    
         
            +
              s.homepage = %q{http://facebooker.rubyforge.org}
         
     | 
| 
      
 21 
     | 
    
         
            +
              s.rdoc_options = ["--main", "README.rdoc"]
         
     | 
| 
      
 22 
     | 
    
         
            +
              s.require_paths = ["lib"]
         
     | 
| 
      
 23 
     | 
    
         
            +
              s.rubyforge_project = %q{facebooker}
         
     | 
| 
      
 24 
     | 
    
         
            +
              s.rubygems_version = %q{1.3.2}
         
     | 
| 
      
 25 
     | 
    
         
            +
              s.summary = %q{Facebooker is a Ruby wrapper over the Facebook[http://facebook.com] {REST API}[http://wiki.developers.facebook.com/index.php/API]}
         
     | 
| 
      
 26 
     | 
    
         
            +
              s.test_files = ["test/facebooker/adapters_test.rb", "test/facebooker/admin_test.rb", "test/facebooker/batch_request_test.rb", "test/facebooker/data_test.rb", "test/facebooker/logging_test.rb", "test/facebooker/mobile_test.rb", "test/facebooker/model_test.rb", "test/facebooker/models/event_test.rb", "test/facebooker/models/user_test.rb", "test/facebooker/rails/publisher_test.rb", "test/facebooker/rails_integration_test.rb", "test/facebooker/server_cache_test.rb", "test/facebooker/session_test.rb", "test/facebooker_test.rb", "test/net/http_multipart_post_test.rb", "test/rack/facebook_test.rb"]
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
              if s.respond_to? :specification_version then
         
     | 
| 
      
 29 
     | 
    
         
            +
                current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
         
     | 
| 
      
 30 
     | 
    
         
            +
                s.specification_version = 3
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
         
     | 
| 
      
 33 
     | 
    
         
            +
                  s.add_runtime_dependency(%q<json>, [">= 1.0.0"])
         
     | 
| 
      
 34 
     | 
    
         
            +
                  s.add_development_dependency(%q<hoe>, [">= 1.12.1"])
         
     | 
| 
      
 35 
     | 
    
         
            +
                else
         
     | 
| 
      
 36 
     | 
    
         
            +
                  s.add_dependency(%q<json>, [">= 1.0.0"])
         
     | 
| 
      
 37 
     | 
    
         
            +
                  s.add_dependency(%q<hoe>, [">= 1.12.1"])
         
     | 
| 
      
 38 
     | 
    
         
            +
                end
         
     | 
| 
      
 39 
     | 
    
         
            +
              else
         
     | 
| 
      
 40 
     | 
    
         
            +
                s.add_dependency(%q<json>, [">= 1.0.0"])
         
     | 
| 
      
 41 
     | 
    
         
            +
                s.add_dependency(%q<hoe>, [">= 1.12.1"])
         
     | 
| 
      
 42 
     | 
    
         
            +
              end
         
     | 
| 
      
 43 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/facebooker.rb
    CHANGED
    
    | 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            begin
         
     | 
| 
       2 
2 
     | 
    
         
             
              unless Object.const_defined?("ActiveSupport") and ActiveSupport.const_defined?("JSON")
         
     | 
| 
       3 
     | 
    
         
            -
                require 'json' 
     | 
| 
      
 3 
     | 
    
         
            +
                require 'json'
         
     | 
| 
       4 
4 
     | 
    
         
             
                module Facebooker
         
     | 
| 
       5 
5 
     | 
    
         
             
                  def self.json_decode(str)
         
     | 
| 
       6 
6 
     | 
    
         
             
                    JSON.parse(str)
         
     | 
| 
         @@ -12,9 +12,9 @@ begin 
     | 
|
| 
       12 
12 
     | 
    
         
             
                    ActiveSupport::JSON.decode(str)
         
     | 
| 
       13 
13 
     | 
    
         
             
                  end
         
     | 
| 
       14 
14 
     | 
    
         
             
                end
         
     | 
| 
       15 
     | 
    
         
            -
              end 
     | 
| 
      
 15 
     | 
    
         
            +
              end
         
     | 
| 
       16 
16 
     | 
    
         
             
            rescue
         
     | 
| 
       17 
     | 
    
         
            -
              require 'json' 
     | 
| 
      
 17 
     | 
    
         
            +
              require 'json'
         
     | 
| 
       18 
18 
     | 
    
         
             
            end
         
     | 
| 
       19 
19 
     | 
    
         
             
            require 'zlib'
         
     | 
| 
       20 
20 
     | 
    
         
             
            require 'digest/md5'
         
     | 
| 
         @@ -22,9 +22,15 @@ require 'digest/md5' 
     | 
|
| 
       22 
22 
     | 
    
         | 
| 
       23 
23 
     | 
    
         | 
| 
       24 
24 
     | 
    
         
             
            module Facebooker
         
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                @facebooker_configuration = {}
         
     | 
| 
      
 27 
     | 
    
         
            +
                @current_adapter = nil
         
     | 
| 
      
 28 
     | 
    
         
            +
                @set_asset_host_to_callback_url = nil
         
     | 
| 
      
 29 
     | 
    
         
            +
                @path_prefix = nil
         
     | 
| 
      
 30 
     | 
    
         
            +
                @use_curl    = false
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
       26 
32 
     | 
    
         
             
                class << self
         
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
       28 
34 
     | 
    
         
             
                def load_configuration(facebooker_yaml_file)
         
     | 
| 
       29 
35 
     | 
    
         
             
                  if File.exist?(facebooker_yaml_file)
         
     | 
| 
       30 
36 
     | 
    
         
             
                    if defined? RAILS_ENV
         
     | 
| 
         @@ -35,7 +41,7 @@ module Facebooker 
     | 
|
| 
       35 
41 
     | 
    
         
             
                    apply_configuration(config)
         
     | 
| 
       36 
42 
     | 
    
         
             
                  end
         
     | 
| 
       37 
43 
     | 
    
         
             
                end
         
     | 
| 
       38 
     | 
    
         
            -
             
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
       39 
45 
     | 
    
         
             
                # Sets the Facebook environment based on a hash of options. 
         
     | 
| 
       40 
46 
     | 
    
         
             
                # By default the hash passed in is loaded from facebooker.yml, but it can also be passed in
         
     | 
| 
       41 
47 
     | 
    
         
             
                # manually every request to run multiple Facebook apps off one Rails app. 
         
     | 
| 
         @@ -53,70 +59,66 @@ module Facebooker 
     | 
|
| 
       53 
59 
     | 
    
         
             
                  Facebooker.timeout = config['timeout']
         
     | 
| 
       54 
60 
     | 
    
         
             
                  @facebooker_configuration = config
         
     | 
| 
       55 
61 
     | 
    
         
             
                end
         
     | 
| 
       56 
     | 
    
         
            -
             
     | 
| 
      
 62 
     | 
    
         
            +
             
     | 
| 
       57 
63 
     | 
    
         
             
                def facebooker_config
         
     | 
| 
       58 
     | 
    
         
            -
                  @facebooker_configuration 
     | 
| 
       59 
     | 
    
         
            -
                end
         
     | 
| 
       60 
     | 
    
         
            -
                
         
     | 
| 
       61 
     | 
    
         
            -
                 def current_adapter=(adapter_class)
         
     | 
| 
       62 
     | 
    
         
            -
                  @current_adapter = adapter_class
         
     | 
| 
      
 64 
     | 
    
         
            +
                  @facebooker_configuration
         
     | 
| 
       63 
65 
     | 
    
         
             
                end
         
     | 
| 
       64 
     | 
    
         
            -
             
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
      
 67 
     | 
    
         
            +
                # TODO: This should be converted to attr_accessor, but we need to
         
     | 
| 
      
 68 
     | 
    
         
            +
                # get all the require statements at the top of the file to work.
         
     | 
| 
      
 69 
     | 
    
         
            +
             
     | 
| 
      
 70 
     | 
    
         
            +
                # Set the current adapter
         
     | 
| 
      
 71 
     | 
    
         
            +
                attr_writer :current_adapter
         
     | 
| 
      
 72 
     | 
    
         
            +
             
     | 
| 
      
 73 
     | 
    
         
            +
                # Get the current adapter
         
     | 
| 
       65 
74 
     | 
    
         
             
                def current_adapter
         
     | 
| 
       66 
75 
     | 
    
         
             
                  @current_adapter || Facebooker::AdapterBase.default_adapter
         
     | 
| 
       67 
76 
     | 
    
         
             
                end
         
     | 
| 
       68 
     | 
    
         
            -
             
     | 
| 
      
 77 
     | 
    
         
            +
             
     | 
| 
       69 
78 
     | 
    
         
             
                def load_adapter(params)
         
     | 
| 
       70 
79 
     | 
    
         
             
                  self.current_adapter = Facebooker::AdapterBase.load_adapter(params)
         
     | 
| 
       71 
80 
     | 
    
         
             
                end
         
     | 
| 
       72 
     | 
    
         
            -
             
     | 
| 
      
 81 
     | 
    
         
            +
             
     | 
| 
       73 
82 
     | 
    
         
             
                def facebook_path_prefix=(path)
         
     | 
| 
       74 
83 
     | 
    
         
             
                  current_adapter.facebook_path_prefix = path
         
     | 
| 
       75 
84 
     | 
    
         
             
                end
         
     | 
| 
       76 
     | 
    
         
            -
             
     | 
| 
      
 85 
     | 
    
         
            +
             
     | 
| 
       77 
86 
     | 
    
         
             
                # Default is canvas_page_name in yml file
         
     | 
| 
       78 
87 
     | 
    
         
             
                def facebook_path_prefix
         
     | 
| 
       79 
88 
     | 
    
         
             
                  current_adapter.facebook_path_prefix
         
     | 
| 
       80 
89 
     | 
    
         
             
                end
         
     | 
| 
       81 
     | 
    
         
            -
             
     | 
| 
      
 90 
     | 
    
         
            +
             
     | 
| 
       82 
91 
     | 
    
         
             
                def is_for?(application_container)
         
     | 
| 
       83 
92 
     | 
    
         
             
                  current_adapter.is_for?(application_container)
         
     | 
| 
       84 
93 
     | 
    
         
             
                end
         
     | 
| 
       85 
     | 
    
         
            -
             
     | 
| 
      
 94 
     | 
    
         
            +
             
     | 
| 
       86 
95 
     | 
    
         
             
                def set_asset_host_to_callback_url=(val)
         
     | 
| 
       87 
96 
     | 
    
         
             
                  @set_asset_host_to_callback_url=val
         
     | 
| 
       88 
97 
     | 
    
         
             
                end
         
     | 
| 
       89 
     | 
    
         
            -
             
     | 
| 
      
 98 
     | 
    
         
            +
             
     | 
| 
       90 
99 
     | 
    
         
             
                def set_asset_host_to_callback_url
         
     | 
| 
       91 
     | 
    
         
            -
                  @set_asset_host_to_callback_url 
     | 
| 
       92 
     | 
    
         
            -
                end
         
     | 
| 
       93 
     | 
    
         
            -
                
         
     | 
| 
       94 
     | 
    
         
            -
                def use_curl=(val)
         
     | 
| 
       95 
     | 
    
         
            -
                  @use_curl=val
         
     | 
| 
       96 
     | 
    
         
            -
                end
         
     | 
| 
       97 
     | 
    
         
            -
                
         
     | 
| 
       98 
     | 
    
         
            -
                def use_curl?
         
     | 
| 
       99 
     | 
    
         
            -
                  @use_curl
         
     | 
| 
      
 100 
     | 
    
         
            +
                  @set_asset_host_to_callback_url || true
         
     | 
| 
       100 
101 
     | 
    
         
             
                end
         
     | 
| 
       101 
     | 
    
         
            -
             
     | 
| 
      
 102 
     | 
    
         
            +
             
     | 
| 
      
 103 
     | 
    
         
            +
                attr_accessor :use_curl
         
     | 
| 
      
 104 
     | 
    
         
            +
                alias :use_curl? :use_curl
         
     | 
| 
      
 105 
     | 
    
         
            +
             
     | 
| 
       102 
106 
     | 
    
         
             
                def timeout=(val)
         
     | 
| 
       103 
107 
     | 
    
         
             
                  @timeout = val.to_i
         
     | 
| 
       104 
108 
     | 
    
         
             
                end
         
     | 
| 
       105 
     | 
    
         
            -
             
     | 
| 
      
 109 
     | 
    
         
            +
             
     | 
| 
       106 
110 
     | 
    
         
             
                def timeout
         
     | 
| 
       107 
111 
     | 
    
         
             
                  @timeout
         
     | 
| 
       108 
112 
     | 
    
         
             
                end
         
     | 
| 
       109 
     | 
    
         
            -
             
     | 
| 
      
 113 
     | 
    
         
            +
             
     | 
| 
       110 
114 
     | 
    
         
             
                [:api_key,:secret_key, :www_server_base_url,:login_url_base,:install_url_base,:api_rest_path,:api_server_base,:api_server_base_url,:canvas_server_base, :video_server_base].each do |delegated_method|
         
     | 
| 
       111 
115 
     | 
    
         
             
                  define_method(delegated_method){ return current_adapter.send(delegated_method)}
         
     | 
| 
       112 
116 
     | 
    
         
             
                end
         
     | 
| 
       113 
     | 
    
         
            -
             
     | 
| 
       114 
     | 
    
         
            -
             
     | 
| 
       115 
     | 
    
         
            -
             
     | 
| 
       116 
     | 
    
         
            -
             
     | 
| 
       117 
     | 
    
         
            -
             
     | 
| 
       118 
     | 
    
         
            -
                
         
     | 
| 
       119 
     | 
    
         
            -
                
         
     | 
| 
      
 117 
     | 
    
         
            +
             
     | 
| 
      
 118 
     | 
    
         
            +
             
     | 
| 
      
 119 
     | 
    
         
            +
                attr_reader :path_prefix
         
     | 
| 
      
 120 
     | 
    
         
            +
             
     | 
| 
      
 121 
     | 
    
         
            +
             
     | 
| 
       120 
122 
     | 
    
         
             
                # Set the asset path to the canvas path for just this one request
         
     | 
| 
       121 
123 
     | 
    
         
             
                # by definition, we will make this a canvas request
         
     | 
| 
       122 
124 
     | 
    
         
             
                def with_asset_path_for_canvas
         
     | 
| 
         @@ -130,7 +132,7 @@ module Facebooker 
     | 
|
| 
       130 
132 
     | 
    
         
             
                    ActionController::Base.asset_host = original_asset_host
         
     | 
| 
       131 
133 
     | 
    
         
             
                  end
         
     | 
| 
       132 
134 
     | 
    
         
             
                end
         
     | 
| 
       133 
     | 
    
         
            -
             
     | 
| 
      
 135 
     | 
    
         
            +
             
     | 
| 
       134 
136 
     | 
    
         
             
                # If this request is_canvas_request
         
     | 
| 
       135 
137 
     | 
    
         
             
                # then use the application name as the url root
         
     | 
| 
       136 
138 
     | 
    
         
             
                def request_for_canvas(is_canvas_request)
         
     | 
| 
         @@ -26,6 +26,7 @@ module Facebooker 
     | 
|
| 
       26 
26 
     | 
    
         | 
| 
       27 
27 
     | 
    
         
             
                def initialize(config)
         
     | 
| 
       28 
28 
     | 
    
         
             
                  @config = config
         
     | 
| 
      
 29 
     | 
    
         
            +
                  @facebook_path_prefix = nil
         
     | 
| 
       29 
30 
     | 
    
         
             
                end
         
     | 
| 
       30 
31 
     | 
    
         | 
| 
       31 
32 
     | 
    
         
             
                def  self.facebooker_config
         
     | 
| 
         @@ -36,7 +37,7 @@ module Facebooker 
     | 
|
| 
       36 
37 
     | 
    
         
             
                def self.load_adapter(params)
         
     | 
| 
       37 
38 
     | 
    
         | 
| 
       38 
39 
     | 
    
         
             
                  config_key_base = params[:config_key_base] # This allows for loading of a aspecific adapter
         
     | 
| 
       39 
     | 
    
         
            -
                  config_key_base += "_"  
     | 
| 
      
 40 
     | 
    
         
            +
                  config_key_base += "_" if config_key_base && config_key_base.length > 0
         
     | 
| 
       40 
41 
     | 
    
         | 
| 
       41 
42 
     | 
    
         
             
                  unless api_key = (params[:fb_sig_api_key] || facebooker_config["#{config_key_base}api_key"])
         
     | 
| 
       42 
43 
     | 
    
         
             
                    raise Facebooker::AdapterBase::UnableToLoadAdapter
         
     | 
| 
         @@ -51,7 +52,7 @@ module Facebooker 
     | 
|
| 
       51 
52 
     | 
    
         | 
| 
       52 
53 
     | 
    
         
             
                    key_base = key.match(/(.*)[_]?api_key/)[1]
         
     | 
| 
       53 
54 
     | 
    
         | 
| 
       54 
     | 
    
         
            -
                    adapter_class_name = if key_base. 
     | 
| 
      
 55 
     | 
    
         
            +
                    adapter_class_name = if !key_base || key_base.length == 0
         
     | 
| 
       55 
56 
     | 
    
         
             
                       "FacebookAdapter"
         
     | 
| 
       56 
57 
     | 
    
         
             
                    else
         
     | 
| 
       57 
58 
     | 
    
         
             
                      facebooker_config[key_base + "adapter"]
         
     | 
| 
         @@ -12,16 +12,16 @@ module Facebooker 
     | 
|
| 
       12 
12 
     | 
    
         
             
                def api_rest_path
         
     | 
| 
       13 
13 
     | 
    
         
             
                  "/restserver.php"
         
     | 
| 
       14 
14 
     | 
    
         
             
                end
         
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
       16 
16 
     | 
    
         
             
                def is_for?(application_context)
         
     | 
| 
       17 
17 
     | 
    
         
             
                  application_context == :bebo
         
     | 
| 
       18 
18 
     | 
    
         
             
                end
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
       20 
20 
     | 
    
         
             
                def www_server_base_url
         
     | 
| 
       21 
21 
     | 
    
         
             
                  "www.bebo.com"
         
     | 
| 
       22 
22 
     | 
    
         
             
                end
         
     | 
| 
       23 
23 
     | 
    
         | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
       25 
25 
     | 
    
         
             
                def login_url_base
         
     | 
| 
       26 
26 
     | 
    
         
             
                  "http://#{www_server_base_url}/SignIn.jsp?ApiKey=#{api_key}&v=1.0"
         
     | 
| 
       27 
27 
     | 
    
         
             
                end
         
     | 
| 
         @@ -33,7 +33,6 @@ module Facebooker 
     | 
|
| 
       33 
33 
     | 
    
         
             
            end
         
     | 
| 
       34 
34 
     | 
    
         | 
| 
       35 
35 
     | 
    
         
             
            # Things that don't actually work as expected in BEBO
         
     | 
| 
       36 
     | 
    
         
            -
            Facebooker::PublishTemplatizedAction
         
     | 
| 
       37 
36 
     | 
    
         
             
            module Facebooker
         
     | 
| 
       38 
37 
     | 
    
         
             
               class User
         
     | 
| 
       39 
38 
     | 
    
         
             
                def set_profile_fbml_with_bebo_adapter(profile_fbml, mobile_fbml, profile_action_fbml, profile_main = nil)
         
     | 
| 
         @@ -49,6 +48,9 @@ module Facebooker 
     | 
|
| 
       49 
48 
     | 
    
         
             
                private
         
     | 
| 
       50 
49 
     | 
    
         | 
| 
       51 
50 
     | 
    
         
             
                BEBO_FIELDS = FIELDS - [:meeting_sex, :wall_count, :meeting_for]
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
                remove_method :collect
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
       52 
54 
     | 
    
         
             
                def collect(fields)
         
     | 
| 
       53 
55 
     | 
    
         
             
                  if(Facebooker.is_for?(:bebo) )
         
     | 
| 
       54 
56 
     | 
    
         
             
                     BEBO_FIELDS.reject{|field_name| !fields.empty? && !fields.include?(field_name)}.join(',')
         
     | 
| 
         @@ -5,19 +5,21 @@ module Facebooker 
     | 
|
| 
       5 
5 
     | 
    
         
             
                attr_reader :method
         
     | 
| 
       6 
6 
     | 
    
         
             
                class UnexecutedRequest < StandardError; end
         
     | 
| 
       7 
7 
     | 
    
         
             
                def initialize(params,proc)
         
     | 
| 
       8 
     | 
    
         
            -
                  @ 
     | 
| 
       9 
     | 
    
         
            -
                  @ 
     | 
| 
       10 
     | 
    
         
            -
                  @ 
     | 
| 
      
 8 
     | 
    
         
            +
                  @exception  = nil
         
     | 
| 
      
 9 
     | 
    
         
            +
                  @result     = nil
         
     | 
| 
      
 10 
     | 
    
         
            +
                  @method     = params[:method]
         
     | 
| 
      
 11 
     | 
    
         
            +
                  @uri        = params.map{|k,v| "#{k}=#{CGI.escape(v.to_s)}"}.join("&")
         
     | 
| 
      
 12 
     | 
    
         
            +
                  @proc       = proc
         
     | 
| 
       11 
13 
     | 
    
         
             
                end
         
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
       13 
15 
     | 
    
         
             
                def result=(result_object)
         
     | 
| 
       14 
16 
     | 
    
         
             
                  @result = @proc.nil? ? result_object : @proc.call(result_object)
         
     | 
| 
       15 
17 
     | 
    
         
             
                end
         
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
       17 
19 
     | 
    
         
             
                def exception_raised=(ex)
         
     | 
| 
       18 
20 
     | 
    
         
             
                  @exception=ex
         
     | 
| 
       19 
21 
     | 
    
         
             
                end
         
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
       21 
23 
     | 
    
         
             
                def exception_raised?
         
     | 
| 
       22 
24 
     | 
    
         
             
                  @exception.nil? ? false : raise(@exception)
         
     | 
| 
       23 
25 
     | 
    
         
             
                end
         
     | 
| 
         @@ -25,12 +27,11 @@ module Facebooker 
     | 
|
| 
       25 
27 
     | 
    
         
             
                def respond_to?(name)
         
     | 
| 
       26 
28 
     | 
    
         
             
                  super || @result.respond_to?(name)
         
     | 
| 
       27 
29 
     | 
    
         
             
                end
         
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
       29 
31 
     | 
    
         
             
                def ===(other)
         
     | 
| 
       30 
32 
     | 
    
         
             
                  other === @result
         
     | 
| 
       31 
33 
     | 
    
         
             
                end
         
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
              
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
       34 
35 
     | 
    
         
             
                def method_missing(name,*args,&proc)
         
     | 
| 
       35 
36 
     | 
    
         
             
                  if @exception
         
     | 
| 
       36 
37 
     | 
    
         
             
                    raise @exception
         
     | 
| 
         @@ -41,4 +42,4 @@ module Facebooker 
     | 
|
| 
       41 
42 
     | 
    
         
             
                  end
         
     | 
| 
       42 
43 
     | 
    
         
             
                end
         
     | 
| 
       43 
44 
     | 
    
         
             
              end
         
     | 
| 
       44 
     | 
    
         
            -
            end
         
     | 
| 
      
 45 
     | 
    
         
            +
            end
         
     |