facebooker 1.0.30 → 1.0.31

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/facebooker.gemspec CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{facebooker}
5
- s.version = "1.0.30"
5
+ s.version = "1.0.31"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Chad Fowler", "Patrick Ewing", "Mike Mangino", "Shane Vitarana", "Corey Innis"]
9
- s.date = %q{2009-04-29}
9
+ s.date = %q{2009-04-30}
10
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
11
 
12
12
  * Idiomatic Ruby
@@ -1,9 +1,10 @@
1
1
  class XdReceiverGenerator < Rails::Generator::Base
2
2
  def manifest
3
3
  record do |m|
4
- m.template "xd_receiver.html", "public/xd_receiver.html"
4
+ m.template "xd_receiver.html", "public/xd_receiver.html"
5
+ m.template "xd_receiver_ssl.html", "public/xd_receiver_ssl.html"
5
6
  end
6
7
  end
7
8
 
8
9
 
9
- end
10
+ end
data/init.rb CHANGED
@@ -20,4 +20,4 @@ if defined? Rails
20
20
  require 'facebooker/rails/extensions/rack_setup' if Rails.version > '2.3'
21
21
  require 'facebooker/rails/extensions/action_controller'
22
22
  require 'facebooker/rails/extensions/routing'
23
- end
23
+ end
data/lib/facebooker.rb CHANGED
@@ -25,7 +25,7 @@ module Facebooker
25
25
 
26
26
  @facebooker_configuration = {}
27
27
  @current_adapter = nil
28
- @set_asset_host_to_callback_url = nil
28
+ @set_asset_host_to_callback_url = true
29
29
  @path_prefix = nil
30
30
  @use_curl = false
31
31
 
@@ -92,14 +92,7 @@ module Facebooker
92
92
  current_adapter.is_for?(application_container)
93
93
  end
94
94
 
95
- def set_asset_host_to_callback_url=(val)
96
- @set_asset_host_to_callback_url=val
97
- end
98
-
99
- def set_asset_host_to_callback_url
100
- @set_asset_host_to_callback_url || true
101
- end
102
-
95
+ attr_accessor :set_asset_host_to_callback_url
103
96
  attr_accessor :use_curl
104
97
  alias :use_curl? :use_curl
105
98
 
@@ -77,6 +77,10 @@ module Facebooker
77
77
  end #do |hash, child|
78
78
  end
79
79
 
80
+ def self.booleanize(response)
81
+ response == "1" ? true : false
82
+ end
83
+
80
84
  def self.anonymous_field_from(child, hash)
81
85
  if child.name == 'anon'
82
86
  (hash[child.name] || []) << child.text_value
@@ -85,6 +89,12 @@ module Facebooker
85
89
 
86
90
  end
87
91
 
92
+ class RevokeAuthorization < Parser#:nodoc:
93
+ def self.process(data)
94
+ booleanize(data)
95
+ end
96
+ end
97
+
88
98
  class CreateToken < Parser#:nodoc:
89
99
  def self.process(data)
90
100
  element('auth_createToken_response', data).text_value
@@ -539,6 +549,7 @@ module Facebooker
539
549
 
540
550
  class Parser
541
551
  PARSERS = {
552
+ 'facebook.auth.revokeAuthorization' => RevokeAuthorization,
542
553
  'facebook.auth.createToken' => CreateToken,
543
554
  'facebook.auth.getSession' => GetSession,
544
555
  'facebook.connect.registerUsers' => RegisterUsers,
@@ -22,7 +22,11 @@ module Facebooker
22
22
  options.merge!(required_features.pop.symbolize_keys)
23
23
  end
24
24
 
25
- init_string = "FB.Facebook.init('#{Facebooker.api_key}','/xd_receiver.html');"
25
+ if request.ssl?
26
+ init_string = "FB.Facebook.init('#{Facebooker.api_key}','/xd_receiver_ssl.html');"
27
+ else
28
+ init_string = "FB.Facebook.init('#{Facebooker.api_key}','/xd_receiver.html');"
29
+ end
26
30
  unless required_features.blank?
27
31
  init_string = <<-FBML
28
32
  #{case options[:js]
@@ -2,7 +2,7 @@ module Facebooker #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 1
4
4
  MINOR = 0
5
- TINY = 30
5
+ TINY = 31
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
@@ -960,7 +960,23 @@ class RailsHelperTest < Test::Unit::TestCase
960
960
  def test_init_fb_connect_with_features
961
961
  assert @h.init_fb_connect("XFBML").match(/XFBML/)
962
962
  end
963
-
963
+
964
+ def test_init_fb_connect_receiver_path
965
+ assert @h.init_fb_connect.match(/xd_receiver.html/)
966
+ end
967
+
968
+ def test_init_fb_connect_receiver_path_ssl
969
+ @h.instance_eval do
970
+ def request
971
+ ssl_request = ActionController::TestRequest.new
972
+ ssl_request.stubs(:ssl?).returns(true)
973
+ ssl_request
974
+ end
975
+ end
976
+
977
+ assert @h.init_fb_connect.match(/xd_receiver_ssl.html/)
978
+ end
979
+
964
980
  def test_init_fb_connect_with_features_and_body
965
981
  @h.expects(:capture).returns("Body Content")
966
982
 
@@ -1005,6 +1021,21 @@ class RailsHelperTest < Test::Unit::TestCase
1005
1021
  end
1006
1022
  end
1007
1023
 
1024
+ def test_fb_connect_javascript_tag_ssl
1025
+ @h.instance_eval do
1026
+ def request
1027
+ ssl_request = ActionController::TestRequest.new
1028
+ ssl_request.stubs(:ssl?).returns(true)
1029
+ ssl_request
1030
+ end
1031
+ end
1032
+
1033
+ silence_warnings do
1034
+ assert_equal "<script src=\"https://www.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php\" type=\"text/javascript\"></script>",
1035
+ @h.fb_connect_javascript_tag
1036
+ end
1037
+ end
1038
+
1008
1039
  def test_fb_container
1009
1040
  @h.expects(:capture).returns("Inner Stuff")
1010
1041
  @h.fb_container(:condition=>"somejs") do
@@ -12,16 +12,24 @@ class TestFacebooker < Test::Unit::TestCase
12
12
  @service = Facebooker::Service.new('http://apibase.com', '/api/path', @api_key)
13
13
  @desktop_session.instance_variable_set("@service", @service)
14
14
  end
15
-
15
+
16
+ def test_asset_host_callback_url
17
+ Facebooker.set_asset_host_to_callback_url = true
18
+ assert_equal true, Facebooker.set_asset_host_to_callback_url
19
+
20
+ Facebooker.set_asset_host_to_callback_url = false
21
+ assert_equal false, Facebooker.set_asset_host_to_callback_url
22
+ end
23
+
16
24
  def test_session_must_be_created_from_api_key_and_secret_key
17
25
  assert_kind_of(Facebooker::Session, @session)
18
26
  end
19
-
27
+
20
28
  def test_session_can_tell_you_its_login_url
21
29
  assert_not_nil(@session.login_url)
22
30
  assert_equal("http://www.facebook.com/login.php?api_key=#{@api_key}&v=1.0", @session.login_url)
23
31
  end
24
-
32
+
25
33
  def test_desktop_session_returns_auth_toke_as_part_of_login_url
26
34
  @service = flexmock(@service).should_receive(:post).at_least.once.and_return(123)
27
35
  assert_kind_of(Facebooker::Session::Desktop, @desktop_session)
@@ -36,10 +44,10 @@ class TestFacebooker < Test::Unit::TestCase
36
44
  # def test_serivce_post_file_delegates_to_post_multipart_form
37
45
  # # flexmock(@service).should_receive(:url).and_return('url')
38
46
  # # flexmock(Net::HTTP).expects(:post_multipart_form).with('url', {:method => 'facebook.auth.createToken'}).returns(example_auth_token_xml)
39
- #
47
+ #
40
48
  # res = mock(:content_type => 'text/html', :code => '200', :body => '<html><body>my blog</body></html>')
41
49
  # Net::HTTP.stubs(:get_response).once.with(uri).returns res
42
- #
50
+ #
43
51
  # @service.post_file(:method => 'facebook.auth.createToken')
44
52
  # end
45
53
 
@@ -64,22 +72,22 @@ class TestFacebooker < Test::Unit::TestCase
64
72
  expect_http_posts_with_responses(example_friends_xml)
65
73
  assert_equal([222333, 1240079], @session.user.friends.map{|friend| friend.id})
66
74
  end
67
-
75
+
68
76
  def test_can_get_current_users_friend_lists
69
77
  expect_http_posts_with_responses(example_friend_lists_xml)
70
78
  assert_equal([12089150545, 16361710545], @session.user.friend_lists.map{|friend_list| friend_list.flid})
71
79
  end
72
-
80
+
73
81
  def test_can_get_info_for_instance_of_user
74
82
  populate_user_info
75
83
  @session.user.first_name = "Dave"
76
84
  end
77
-
85
+
78
86
  def test_can_get_info_for_one_or_more_users
79
87
  friends = populate_session_friends
80
88
  friend = friends.detect{|f| f.id == 222333}
81
89
  assert_equal('This field perpetuates the glorification of the ego. Also, it has a character limit.',
82
- friend.about_me)
90
+ friend.about_me)
83
91
  assert_equal('Facebook Developers', friend.affiliations.first.name)
84
92
  assert_equal('Friendship', friend.meeting_for.first)
85
93
  assert_equal('94303', friend.current_location.zip)
@@ -97,14 +105,14 @@ class TestFacebooker < Test::Unit::TestCase
97
105
  assert_equal('I rule', friend.status.message)
98
106
  assert_equal(nil, friend.hometown_location)
99
107
  end
100
-
108
+
101
109
  def test_can_handle_nil_data
102
110
  friends = populate_session_friends_with_nil_data
103
111
  friend = friends.detect{|f| f.id == 222333}
104
112
  assert_equal(nil,friend.current_location)
105
- assert_equal(nil,friend.pic)
113
+ assert_equal(nil,friend.pic)
106
114
  end
107
-
115
+
108
116
  def test_session_can_expire_on_server_and_client_handles_appropriately
109
117
  expect_http_posts_with_responses(example_session_expired_error_response)
110
118
  assert_raises(Facebooker::Session::SessionExpired) {
@@ -112,22 +120,22 @@ class TestFacebooker < Test::Unit::TestCase
112
120
  }
113
121
  end
114
122
 
115
-
123
+
116
124
  def test_can_publish_story_to_users_feed
117
125
  expect_http_posts_with_responses(example_publish_story_xml)
118
126
  assert_nothing_raised {
119
127
  assert(@session.user.publish_story((s = Facebooker::Feed::Story.new; s.title = 'o hai'; s.body = '4srsly'; s)))
120
128
  }
121
129
  end
122
-
123
-
130
+
131
+
124
132
  def test_can_publish_action_to_users_feed
125
133
  expect_http_posts_with_responses(example_publish_action_xml)
126
134
  assert_nothing_raised {
127
135
  assert(@session.user.publish_action((s = Facebooker::Feed::Action.new; s.title = 'o hai'; s.body = '4srsly'; s)))
128
136
  }
129
137
  end
130
-
138
+
131
139
  def test_can_publish_templatized_action_to_users_feed
132
140
  expect_http_posts_with_responses(example_publish_templatized_action_xml)
133
141
  assert_nothing_raised {
@@ -136,7 +144,7 @@ class TestFacebooker < Test::Unit::TestCase
136
144
  assert(@session.user.publish_templatized_action(action))
137
145
  }
138
146
  end
139
-
147
+
140
148
  def test_can_publish_templatized_action_to_users_feed_with_params_as_string
141
149
  json_data="{\"move\": \"punch\"}"
142
150
  action = Facebooker::Feed::TemplatizedAction.new
@@ -144,7 +152,7 @@ class TestFacebooker < Test::Unit::TestCase
144
152
  action.title_data=json_data
145
153
  assert_equal action.to_params[:title_data],json_data
146
154
  end
147
-
155
+
148
156
  def test_can_publish_templatized_action_to_users_feed_with_params_as_hash
149
157
  json_data="{\"move\": \"punch\"}"
150
158
  hash={:move=>"punch"}
@@ -166,7 +174,7 @@ class TestFacebooker < Test::Unit::TestCase
166
174
  assert_equal("0", @session.user.notifications.pokes.unread)
167
175
  assert_equal("1", @session.user.notifications.shares.unread)
168
176
  end
169
-
177
+
170
178
  def test_can_send_notifications
171
179
  expect_http_posts_with_responses(example_notifications_send_xml)
172
180
  assert_nothing_raised {
@@ -187,13 +195,13 @@ class TestFacebooker < Test::Unit::TestCase
187
195
  assert_equal('123,321', @session.send_email(user_ids, subject,text,fbml ))
188
196
  }
189
197
  end
190
-
198
+
191
199
  def test_can_find_friends_who_have_installed_app
192
200
  expect_http_posts_with_responses(example_app_users_xml)
193
201
  assert_equal(2, @session.user.friends_with_this_app.size)
194
202
  assert_equal([222333, 1240079], @session.user.friends_with_this_app.map{|f| f.id})
195
203
  end
196
-
204
+
197
205
  def test_when_marshaling_a_session_object_only_enough_data_to_stay_authenticated_is_stored
198
206
  populate_session_friends
199
207
  assert_equal(2, @session.user.friends.size)
@@ -203,7 +211,7 @@ class TestFacebooker < Test::Unit::TestCase
203
211
  end
204
212
  assert_nil(reloaded_session.user.instance_variable_get("@friends"))
205
213
  end
206
-
214
+
207
215
  def test_sessions_can_be_infinite_or_can_expire
208
216
  establish_session
209
217
  assert(@session.expired?, "Session with expiry time #{@session.instance_variable_get('@expires')} occurred in the past and should be expired.")
@@ -211,14 +219,14 @@ class TestFacebooker < Test::Unit::TestCase
211
219
  assert(@session.infinite?)
212
220
  assert(!@session.expired?)
213
221
  end
214
-
222
+
215
223
  def test_session_can_tell_you_if_it_has_been_secured
216
224
  mock = flexmock(Net::HTTP).should_receive(:post_form).and_return(example_auth_token_xml).once.ordered(:posts)
217
225
  mock.should_receive(:post_form).and_return(example_get_session_xml.sub(/1173309298/, (Time.now + 60).to_i.to_s)).once.ordered(:posts)
218
226
  @session.secure!
219
227
  assert(@session.secured?)
220
228
  end
221
-
229
+
222
230
  def test_can_get_photos_by_pids
223
231
  expect_http_posts_with_responses(example_get_photo_xml)
224
232
  photos = @session.get_photos([97503428461115590, 97503428461115573])
@@ -226,82 +234,82 @@ class TestFacebooker < Test::Unit::TestCase
226
234
  assert_equal "Rooftop barbecues make me act funny", photos.first.caption
227
235
  assert_equal 97503428461115590, photos[0].id
228
236
  end
229
-
237
+
230
238
  def test_can_get_photos_by_subject_and_album
231
239
  expect_http_posts_with_responses(example_get_photo_xml)
232
240
  photos = @session.get_photos(nil, 22701786, 97503428432802022 )
233
241
  assert_equal '97503428432802022', photos.first.aid
234
242
  end
235
-
243
+
236
244
  def test_getting_photos_requires_arguments
237
245
  mock_http = establish_session
238
246
  assert_raise(ArgumentError) { @session.get_photos() }
239
247
  end
240
-
248
+
241
249
  def test_can_get_albums_for_user
242
250
  expect_http_posts_with_responses(example_user_albums_xml)
243
251
  assert_equal('Summertime is Best', @session.user.albums.first.name)
244
252
  assert_equal(2, @session.user.albums.size)
245
253
  end
246
-
254
+
247
255
  def test_can_get_albums_by_album_ids
248
256
  expect_http_posts_with_responses(example_user_albums_xml)
249
257
  albums = @session.get_albums([97503428432802022, 97503428432797817] )
250
258
  assert_equal('Summertime is Best', albums[0].name)
251
259
  assert_equal('Bonofon\'s Recital', albums[1].name)
252
260
  end
253
-
261
+
254
262
  def test_can_create_album
255
263
  expect_http_posts_with_responses(example_new_album_xml)
256
264
  assert_equal "My Empty Album", @session.user.create_album(:name => "My Empty Album", :location => "Limboland").name
257
265
  end
258
-
266
+
259
267
  def test_can_upload_photo
260
268
  mock_http = establish_session
261
269
  mock_http.should_receive(:post_multipart_form).and_return(example_upload_photo_xml).once.ordered(:posts)
262
270
  f = Net::HTTP::MultipartPostFile.new("image.jpg", "image/jpeg", "RAW DATA")
263
271
  assert_equal "Under the sunset", @session.user.upload_photo(f).caption
264
272
  end
265
-
273
+
266
274
  def test_can_get_photo_tags
267
275
  expect_http_posts_with_responses(example_photo_tags_xml)
268
276
  assert_instance_of Facebooker::Tag, @session.get_tags(:pids => 97503428461115571 ).first
269
277
  end
270
-
278
+
271
279
  # TODO: how to test that tags were created properly? Response doesn't contain much
272
280
  def test_can_tag_a_user_in_a_photo
273
281
  expect_http_posts_with_responses(example_add_tag_xml)
274
282
  assert !@session.add_tags(pid = 97503428461115571, x= 30.0, y = 62.5, tag_uid = 1234567890).nil?
275
283
  end
276
-
284
+
277
285
  def test_can_add_multiple_tags_to_photos
278
286
  end
279
-
287
+
280
288
  def test_can_get_coordinates_for_photo_tags
281
289
  expect_http_posts_with_responses(example_photo_tags_xml)
282
290
  tag = @session.get_tags([97503428461115571]).first
283
291
  assert_equal ['65.4248', '16.8627'], tag.coordinates
284
292
  end
285
-
293
+
286
294
  def test_can_upload_video
287
295
  mock_http = establish_session
288
296
  mock_http.should_receive(:post_multipart_form).and_return(example_upload_video_xml).once
289
297
  f = Net::HTTP::MultipartPostFile.new("party.mp4", "video/mpeg", "RAW DATA")
290
298
  assert_equal "Some Epic", @session.user.upload_video(f).title
291
299
  end
292
-
300
+
293
301
  def test_can_get_app_profile_fbml_for_user
294
302
  expect_http_posts_with_responses(example_get_fbml_xml)
295
303
  assert_match(/My profile!/, @session.user.profile_fbml)
296
304
  end
297
-
305
+
298
306
  def test_can_set_app_profile_fbml_for_user
299
307
  expect_http_posts_with_responses(example_set_fbml_xml)
300
308
  assert_nothing_raised {
301
309
  @session.user.profile_fbml = 'aha!'
302
310
  }
303
311
  end
304
-
312
+
305
313
  def test_get_logged_in_user
306
314
  expect_http_posts_with_responses(example_get_logged_in_user_xml)
307
315
  assert_equal 1240077, @session.post('facebook.users.getLoggedInUser', :session_key => @session.session_key)
@@ -358,6 +366,16 @@ class TestFacebooker < Test::Unit::TestCase
358
366
  @desktop_session.user.friends.first.profile_fbml = "O rly"
359
367
  }
360
368
  end
369
+
370
+ def test_revoke_authorization_true
371
+ expect_http_posts_with_responses(example_revoke_authorization_true)
372
+ assert_equal true, @session.post('facebook.auth.revokeAuthorization', :uid => 123)
373
+ end
374
+
375
+ def test_revoke_authorization_false
376
+ expect_http_posts_with_responses(example_revoke_authorization_false)
377
+ assert_equal false, @session.post('facebook.auth.revokeAuthorization', :uid => 123)
378
+ end
361
379
 
362
380
  private
363
381
  def populate_user_info
@@ -370,22 +388,22 @@ class TestFacebooker < Test::Unit::TestCase
370
388
  expect_http_posts_with_responses(example_limited_user_info_xml)
371
389
  @session.user.populate(:affiliations, :status, :meeting_for)
372
390
  end
373
-
391
+
374
392
  def populate_session_friends
375
393
  expect_http_posts_with_responses(example_friends_xml, example_user_info_xml)
376
394
  @session.user.friends!
377
395
  end
378
-
396
+
379
397
  def populate_session_friends_with_limited_fields
380
398
  expect_http_posts_with_responses(example_friends_xml, example_limited_user_info_xml)
381
399
  @session.user.friends!(:affiliations, :status, :meeting_for)
382
400
  end
383
-
401
+
384
402
  def populate_session_friends_with_nil_data
385
403
  expect_http_posts_with_responses(example_friends_xml, example_nil_user_info_xml)
386
404
  @session.user.friends!(:name, :current_location, :pic)
387
405
  end
388
-
406
+
389
407
  def sample_args_to_post
390
408
  {:method=>"facebook.auth.createToken", :sig=>"18b3dc4f5258a63c0ad641eebd3e3930"}
391
409
  end
@@ -403,7 +421,7 @@ class TestFacebooker < Test::Unit::TestCase
403
421
  </pages_getInfo_response>
404
422
  XML
405
423
  end
406
-
424
+
407
425
  def example_pages_is_admin_true_xml
408
426
  <<-XML
409
427
  <?xml version="1.0" encoding="UTF-8"?>
@@ -449,10 +467,10 @@ class TestFacebooker < Test::Unit::TestCase
449
467
  def example_set_fbml_xml
450
468
  <<-XML
451
469
  <?xml version="1.0" encoding="UTF-8"?>
452
- <profile_setFBML_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://api.facebook.com/1.0/ http://api.facebook.com/1.0/facebook.xsd">1</profile_setFBML_response>
470
+ <profile_setFBML_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://api.facebook.com/1.0/ http://api.facebook.com/1.0/facebook.xsd">1</profile_setFBML_response>
453
471
  XML
454
472
  end
455
-
473
+
456
474
  def example_get_fbml_xml
457
475
  <<-XML
458
476
  <?xml version="1.0" encoding="UTF-8"?>
@@ -460,17 +478,17 @@ class TestFacebooker < Test::Unit::TestCase
460
478
  &lt;fb:if-is-own-profile&gt;My profile!
461
479
  &lt;fb:else&gt; Not my profile!&lt;/fb:else&gt;
462
480
  &lt;/fb:if-is-own-profile&gt;
463
- </profile_getFBML_response>
481
+ </profile_getFBML_response>
464
482
  XML
465
483
  end
466
-
484
+
467
485
  def example_notifications_send_xml
468
486
  <<-XML
469
487
  <?xml version="1.0" encoding="UTF-8"?>
470
488
  <notifications_send_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://api.facebook.com/1.0/ http://api.facebook.com/1.0/facebook.xsd">http://www.facebook.com/send_email.php?from=211031&id=52</notifications_send_response>
471
489
  XML
472
- end
473
-
490
+ end
491
+
474
492
  def example_notifications_send_email_xml
475
493
  <<-XML
476
494
  <?xml version="1.0" encoding="UTF-8"?>
@@ -481,10 +499,10 @@ class TestFacebooker < Test::Unit::TestCase
481
499
  def example_request_send_xml
482
500
  <<-XML
483
501
  <?xml version="1.0" encoding="UTF-8"?>
484
- <notifications_sendRequest_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://api.facebook.com/1.0/ http://api.facebook.com/1.0/facebook.xsd">http://www.facebook.com/send_req.php?from=211031&id=6</notifications_sendRequest_response>
502
+ <notifications_sendRequest_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://api.facebook.com/1.0/ http://api.facebook.com/1.0/facebook.xsd">http://www.facebook.com/send_req.php?from=211031&id=6</notifications_sendRequest_response>
485
503
  XML
486
- end
487
-
504
+ end
505
+
488
506
  def example_notifications_get_xml
489
507
  <<-XML
490
508
  <?xml version="1.0" encoding="UTF-8"?>
@@ -508,24 +526,24 @@ class TestFacebooker < Test::Unit::TestCase
508
526
  </friend_requests>
509
527
  <group_invites list="true"/>
510
528
  <event_invites list="true"/>
511
- </notifications_get_response>
529
+ </notifications_get_response>
512
530
  XML
513
531
  end
514
-
532
+
515
533
  def example_publish_story_xml
516
534
  <<-XML
517
535
  <?xml version="1.0" encoding="UTF-8"?>
518
- <feed_publishStoryToUser_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://api.facebook.com/1.0/ http://api.facebook.com/1.0/facebook.xsd">1</feed_publishStoryToUser_response>
536
+ <feed_publishStoryToUser_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://api.facebook.com/1.0/ http://api.facebook.com/1.0/facebook.xsd">1</feed_publishStoryToUser_response>
519
537
  XML
520
538
  end
521
-
539
+
522
540
  def example_publish_action_xml
523
541
  <<-XML
524
542
  <?xml version="1.0" encoding="UTF-8"?>
525
- <feed_publishActionOfUser_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://api.facebook.com/1.0/ http://api.facebook.com/1.0/facebook.xsd">1</feed_publishActionOfUser_response>
543
+ <feed_publishActionOfUser_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://api.facebook.com/1.0/ http://api.facebook.com/1.0/facebook.xsd">1</feed_publishActionOfUser_response>
526
544
  XML
527
545
  end
528
-
546
+
529
547
  def example_publish_templatized_action_xml
530
548
  <<-XML
531
549
  <?xml version="1.0" encoding="UTF-8"?>
@@ -558,7 +576,7 @@ class TestFacebooker < Test::Unit::TestCase
558
576
  <status/>
559
577
  <year/>
560
578
  </affiliation>
561
- </affiliations>
579
+ </affiliations>
562
580
  <birthday>November 3</birthday>
563
581
  <books>The Brothers K, GEB, Ken Wilber, Zen and the Art, Fitzgerald, The Emporer's New Mind, The Wonderful Story of Henry Sugar</books>
564
582
  <current_location>
@@ -642,9 +660,9 @@ class TestFacebooker < Test::Unit::TestCase
642
660
  <user>
643
661
  <uid>1240079</uid>
644
662
  <about_me>I am here.</about_me>
645
- <activities>Party.</activities>
663
+ <activities>Party.</activities>
646
664
  </user>
647
- </users_getInfo_response>
665
+ </users_getInfo_response>
648
666
  XML
649
667
  end
650
668
 
@@ -662,7 +680,7 @@ class TestFacebooker < Test::Unit::TestCase
662
680
  <status/>
663
681
  <year/>
664
682
  </affiliation>
665
- </affiliations>
683
+ </affiliations>
666
684
  <meeting_for list="true">
667
685
  <seeking>Friendship</seeking>
668
686
  </meeting_for>
@@ -673,13 +691,13 @@ class TestFacebooker < Test::Unit::TestCase
673
691
  </user>
674
692
  <user>
675
693
  <uid>1240079</uid>
676
- <activities>Party.</activities>
694
+ <activities>Party.</activities>
677
695
  </user>
678
- </users_getInfo_response>
696
+ </users_getInfo_response>
679
697
  XML
680
698
  end
681
699
 
682
-
700
+
683
701
  def example_nil_user_info_xml
684
702
  <<-XML
685
703
  <?xml version="1.0" encoding="UTF-8"?>
@@ -690,11 +708,11 @@ class TestFacebooker < Test::Unit::TestCase
690
708
  <current_location xsi:nil="true"/>
691
709
  <pic xsi:nil="true"/>
692
710
  </user>
693
- </users_getInfo_response>
711
+ </users_getInfo_response>
694
712
  XML
695
713
  end
696
714
 
697
-
715
+
698
716
  def example_friends_xml
699
717
  <<-XML
700
718
  <?xml version="1.0" encoding="UTF-8"?>
@@ -704,7 +722,7 @@ class TestFacebooker < Test::Unit::TestCase
704
722
  </friends_get_response>
705
723
  XML
706
724
  end
707
-
725
+
708
726
  def example_friend_lists_xml
709
727
  <<-XML
710
728
  <?xml version="1.0" encoding="UTF-8"?>
@@ -720,14 +738,14 @@ class TestFacebooker < Test::Unit::TestCase
720
738
  </friends_getLists_response>
721
739
  XML
722
740
  end
723
-
741
+
724
742
  def example_get_logged_in_user_xml
725
743
  <<-XML
726
744
  <?xml version="1.0" encoding="UTF-8"?>
727
- <users_getLoggedInUser_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://api.facebook.com/1.0/ http://api.facebook.com/1.0/facebook.xsd" list="true">1240077</users_getLoggedInUser_response>
745
+ <users_getLoggedInUser_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://api.facebook.com/1.0/ http://api.facebook.com/1.0/facebook.xsd" list="true">1240077</users_getLoggedInUser_response>
728
746
  XML
729
747
  end
730
-
748
+
731
749
  def example_invalid_api_key_error_response
732
750
  <<-XML
733
751
  <?xml version="1.0" encoding="UTF-8"?>
@@ -752,10 +770,10 @@ class TestFacebooker < Test::Unit::TestCase
752
770
  <value>1186088346.82142</value>
753
771
  </arg>
754
772
  </request_args>
755
- </error_response>
773
+ </error_response>
756
774
  XML
757
775
  end
758
-
776
+
759
777
  def example_session_expired_error_response
760
778
  <<-XML
761
779
  <?xml version="1.0" encoding="UTF-8"?>
@@ -780,7 +798,7 @@ class TestFacebooker < Test::Unit::TestCase
780
798
  <value>1186088346.82142</value>
781
799
  </arg>
782
800
  </request_args>
783
- </error_response>
801
+ </error_response>
784
802
  XML
785
803
  end
786
804
 
@@ -790,10 +808,10 @@ class TestFacebooker < Test::Unit::TestCase
790
808
  <friends_getAppUsers_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://api.facebook.com/1.0/ http://api.facebook.com/1.0/facebook.xsd" list="true">
791
809
  <uid>222333</uid>
792
810
  <uid>1240079</uid>
793
- </friends_getAppUsers_response>
811
+ </friends_getAppUsers_response>
794
812
  XML
795
813
  end
796
-
814
+
797
815
  def example_user_albums_xml
798
816
  <<-XML
799
817
  <?xml version="1.0" encoding="UTF-8"?>
@@ -825,7 +843,7 @@ class TestFacebooker < Test::Unit::TestCase
825
843
  </photos_getAlbums_response>
826
844
  XML
827
845
  end
828
-
846
+
829
847
  def example_upload_photo_xml
830
848
  <<-XML
831
849
  <?xml version="1.0" encoding="UTF-8"?>
@@ -841,7 +859,7 @@ class TestFacebooker < Test::Unit::TestCase
841
859
  </photos_upload_response>
842
860
  XML
843
861
  end
844
-
862
+
845
863
  def example_new_album_xml
846
864
  <<-XML
847
865
  <?xml version="1.0" encoding="UTF-8"?>
@@ -859,7 +877,7 @@ class TestFacebooker < Test::Unit::TestCase
859
877
  </photos_createAlbum_response>
860
878
  XML
861
879
  end
862
-
880
+
863
881
  def example_photo_tags_xml
864
882
  <<-XML
865
883
  <?xml version="1.0" encoding="UTF-8"?>
@@ -873,14 +891,14 @@ class TestFacebooker < Test::Unit::TestCase
873
891
  </photos_getTags_response>
874
892
  XML
875
893
  end
876
-
894
+
877
895
  def example_add_tag_xml
878
896
  <<-XML
879
897
  <?xml version="1.0" encoding="UTF-8"?>
880
898
  <photos_addTag_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://api.facebook.com/1.0/ http://api.facebook.com/1.0/facebook.xsd">1</photos_addTag_response>
881
899
  XML
882
900
  end
883
-
901
+
884
902
  def example_get_photo_xml
885
903
  <<-XML
886
904
  <?xml version="1.0" encoding="UTF-8"?>
@@ -910,10 +928,10 @@ class TestFacebooker < Test::Unit::TestCase
910
928
  </photos_get_response>
911
929
  XML
912
930
  end
913
-
931
+
914
932
  def example_upload_video_xml
915
933
  <<-XML
916
- <?xml version="1.0" encoding="UTF-8"?>
934
+ <?xml version="1.0" encoding="UTF-8"?>
917
935
  <video_upload_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://api.facebook.com/1.0/ http://api.facebook.com/1.0/facebook.xsd">
918
936
  <vid>15943367753</vid>
919
937
  <title>Some Epic</title>
@@ -922,4 +940,12 @@ class TestFacebooker < Test::Unit::TestCase
922
940
  </video_upload_response>
923
941
  XML
924
942
  end
943
+
944
+ def example_revoke_authorization_true
945
+ "1"
946
+ end
947
+
948
+ def example_revoke_authorization_false
949
+ "0"
950
+ end
925
951
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: facebooker
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.30
4
+ version: 1.0.31
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chad Fowler
@@ -13,7 +13,7 @@ autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
15
 
16
- date: 2009-04-29 00:00:00 -07:00
16
+ date: 2009-04-30 00:00:00 -07:00
17
17
  default_executable:
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency