facebooker 1.0.13 → 1.0.18

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. data/Manifest.txt +29 -16
  2. data/Rakefile +9 -2
  3. data/generators/facebook/templates/public/javascripts/facebooker.js +1 -8
  4. data/init.rb +3 -1
  5. data/lib/facebooker.rb +4 -2
  6. data/lib/facebooker/adapters/facebook_adapter.rb +4 -0
  7. data/lib/facebooker/admin.rb +2 -2
  8. data/lib/facebooker/mobile.rb +20 -0
  9. data/lib/facebooker/mock/service.rb +50 -0
  10. data/lib/facebooker/mock/session.rb +18 -0
  11. data/lib/facebooker/model.rb +3 -3
  12. data/lib/facebooker/models/applicationrestrictions.rb +10 -0
  13. data/lib/facebooker/models/user.rb +35 -3
  14. data/lib/facebooker/models/user.rb.orig +396 -0
  15. data/lib/facebooker/models/user.rb.rej +17 -0
  16. data/lib/facebooker/models/video.rb +9 -0
  17. data/lib/facebooker/parser.rb +22 -1
  18. data/lib/facebooker/rails/controller.rb +34 -12
  19. data/lib/facebooker/rails/cucumber.rb +28 -0
  20. data/lib/facebooker/rails/cucumber/world.rb +46 -0
  21. data/lib/facebooker/rails/facebook_pretty_errors.rb +19 -11
  22. data/lib/facebooker/rails/helpers.rb +203 -122
  23. data/lib/facebooker/rails/helpers/fb_connect.rb +56 -5
  24. data/lib/facebooker/rails/integration_session.rb +38 -0
  25. data/lib/facebooker/rails/publisher.rb +15 -2
  26. data/lib/facebooker/rails/test_helpers.rb +11 -26
  27. data/lib/facebooker/service.rb +6 -3
  28. data/lib/facebooker/session.rb +24 -2
  29. data/lib/facebooker/session.rb.orig +564 -0
  30. data/lib/facebooker/session.rb.rej +29 -0
  31. data/lib/facebooker/version.rb +1 -1
  32. data/lib/tasks/tunnel.rake +2 -2
  33. data/test/{adapters_test.rb → facebooker/adapters_test.rb} +2 -4
  34. data/test/{facebook_admin_test.rb → facebooker/admin_test.rb} +2 -2
  35. data/test/{batch_request_test.rb → facebooker/batch_request_test.rb} +3 -2
  36. data/test/{facebook_data_test.rb → facebooker/data_test.rb} +2 -2
  37. data/test/{logging_test.rb → facebooker/logging_test.rb} +3 -3
  38. data/test/facebooker/mobile_test.rb +45 -0
  39. data/test/{model_test.rb → facebooker/model_test.rb} +36 -4
  40. data/test/{event_test.rb → facebooker/models/event_test.rb} +2 -2
  41. data/test/{user_test.rb → facebooker/models/user_test.rb} +10 -5
  42. data/test/{publisher_test.rb → facebooker/rails/publisher_test.rb} +12 -18
  43. data/test/{rails_integration_test.rb → facebooker/rails_integration_test.rb} +347 -272
  44. data/test/{facebook_cache_test.rb → facebooker/server_cache_test.rb} +1 -1
  45. data/test/{session_test.rb → facebooker/session_test.rb} +3 -2
  46. data/test/facebooker_test.rb +19 -1
  47. data/test/{http_multipart_post_test.rb → net/http_multipart_post_test.rb} +2 -4
  48. data/test/rails_test_helper.rb +11 -0
  49. data/test/test_helper.rb +8 -2
  50. metadata +45 -32
  51. data/lib/facebooker/rails/facebook_asset_path.rb +0 -18
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/test_helper.rb'
1
+ require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
2
2
 
3
3
  class FacebookCacheTest < Test::Unit::TestCase
4
4
  def setup
@@ -1,6 +1,7 @@
1
- require File.dirname(__FILE__) + '/test_helper.rb'
1
+ require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
2
+ require 'active_support'
2
3
 
3
- class SessionTest < Test::Unit::TestCase
4
+ class Facebooker::SessionTest < Test::Unit::TestCase
4
5
 
5
6
 
6
7
  def setup
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/test_helper.rb'
1
+ require File.expand_path(File.dirname(__FILE__) + '/test_helper')
2
2
  require 'net/http_multipart_post'
3
3
  class TestFacebooker < Test::Unit::TestCase
4
4
 
@@ -283,6 +283,13 @@ class TestFacebooker < Test::Unit::TestCase
283
283
  assert_equal ['65.4248', '16.8627'], tag.coordinates
284
284
  end
285
285
 
286
+ def test_can_upload_video
287
+ mock_http = establish_session
288
+ mock_http.should_receive(:post_multipart_form).and_return(example_upload_video_xml).once
289
+ f = Net::HTTP::MultipartPostFile.new("party.mp4", "video/mpeg", "RAW DATA")
290
+ assert_equal "Some Epic", @session.user.upload_video(f).title
291
+ end
292
+
286
293
  def test_can_get_app_profile_fbml_for_user
287
294
  expect_http_posts_with_responses(example_get_fbml_xml)
288
295
  assert_match(/My profile!/, @session.user.profile_fbml)
@@ -904,4 +911,15 @@ class TestFacebooker < Test::Unit::TestCase
904
911
  XML
905
912
  end
906
913
 
914
+ def example_upload_video_xml
915
+ <<-XML
916
+ <?xml version="1.0" encoding="UTF-8"?>
917
+ <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
+ <vid>15943367753</vid>
919
+ <title>Some Epic</title>
920
+ <description>Check it out</description>
921
+ <link>http://www.facebook.com/video/video.php?v=15943367753</link>
922
+ </video_upload_response>
923
+ XML
924
+ end
907
925
  end
@@ -1,6 +1,4 @@
1
- require File.dirname(__FILE__) + '/test_helper.rb'
2
- require 'rubygems'
3
- require 'flexmock/test_unit'
1
+ require File.expand_path(File.dirname(__FILE__) + '/../test_helper')
4
2
  require 'net/http_multipart_post'
5
3
 
6
4
  class HttpMulitpartPostTest < Test::Unit::TestCase
@@ -9,7 +7,7 @@ class HttpMulitpartPostTest < Test::Unit::TestCase
9
7
  end
10
8
 
11
9
  def fixture(string)
12
- File.open(File.dirname(__FILE__) + "/fixtures/#{string}.txt").read
10
+ File.open(File.dirname(__FILE__) + "/../fixtures/#{string}.txt").read
13
11
  end
14
12
 
15
13
  def test_multipart_post_with_only_parameters
@@ -0,0 +1,11 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/test_helper')
2
+
3
+ require 'action_controller'
4
+ require 'action_controller/test_process'
5
+ require 'active_record'
6
+ require File.dirname(__FILE__)+'/../init'
7
+ require 'facebooker/rails/controller'
8
+ require 'facebooker/rails/helpers/fb_connect'
9
+ require 'facebooker/rails/helpers'
10
+ require 'facebooker/rails/publisher'
11
+ require 'facebooker/rails/facebook_form_builder'
@@ -1,10 +1,14 @@
1
1
  require 'test/unit'
2
2
  require 'rubygems'
3
+ begin
4
+ require 'multi_rails_init'
5
+ rescue LoadError
6
+ # multi rails not installed, test against newest supported version of Rails
7
+ gem 'rails', '2.2.2'
8
+ end
3
9
  require 'flexmock/test_unit'
4
10
  require 'mocha'
5
11
 
6
- require File.dirname(__FILE__)+'/../lib/facebooker/rails/test_helpers'
7
-
8
12
  $: << File.join(File.dirname(__FILE__), '..', 'lib')
9
13
 
10
14
  rails_root = File.join(File.dirname(__FILE__),'..','..')
@@ -15,6 +19,8 @@ else
15
19
  end
16
20
 
17
21
  require 'facebooker'
22
+ require 'facebooker/rails/test_helpers'
23
+
18
24
 
19
25
  class Test::Unit::TestCase
20
26
  include Facebooker::Rails::TestHelpers
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.13
4
+ version: 1.0.18
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-02-26 00:00:00 -05:00
16
+ date: 2009-03-23 00:00:00 -04:00
17
17
  default_executable:
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
@@ -95,7 +95,6 @@ files:
95
95
  - generators/xd_receiver/templates/xd_receiver.html
96
96
  - init.rb
97
97
  - install.rb
98
- - lib/facebooker.rb
99
98
  - lib/facebooker/adapters/adapter_base.rb
100
99
  - lib/facebooker/adapters/bebo_adapter.rb
101
100
  - lib/facebooker/adapters/facebook_adapter.rb
@@ -104,10 +103,14 @@ files:
104
103
  - lib/facebooker/data.rb
105
104
  - lib/facebooker/feed.rb
106
105
  - lib/facebooker/logging.rb
106
+ - lib/facebooker/mock/service.rb
107
+ - lib/facebooker/mock/session.rb
108
+ - lib/facebooker/mobile.rb
107
109
  - lib/facebooker/model.rb
108
110
  - lib/facebooker/models/affiliation.rb
109
111
  - lib/facebooker/models/album.rb
110
112
  - lib/facebooker/models/applicationproperties.rb
113
+ - lib/facebooker/models/applicationrestrictions.rb
111
114
  - lib/facebooker/models/cookie.rb
112
115
  - lib/facebooker/models/education_info.rb
113
116
  - lib/facebooker/models/event.rb
@@ -121,18 +124,23 @@ files:
121
124
  - lib/facebooker/models/photo.rb
122
125
  - lib/facebooker/models/tag.rb
123
126
  - lib/facebooker/models/user.rb
127
+ - lib/facebooker/models/user.rb.orig
128
+ - lib/facebooker/models/user.rb.rej
129
+ - lib/facebooker/models/video.rb
124
130
  - lib/facebooker/models/work_info.rb
125
131
  - lib/facebooker/parser.rb
126
132
  - lib/facebooker/rails/controller.rb
127
- - lib/facebooker/rails/facebook_asset_path.rb
133
+ - lib/facebooker/rails/cucumber/world.rb
134
+ - lib/facebooker/rails/cucumber.rb
128
135
  - lib/facebooker/rails/facebook_form_builder.rb
129
136
  - lib/facebooker/rails/facebook_pretty_errors.rb
130
137
  - lib/facebooker/rails/facebook_request_fix.rb
131
138
  - lib/facebooker/rails/facebook_session_handling.rb
132
139
  - lib/facebooker/rails/facebook_url_helper.rb
133
140
  - lib/facebooker/rails/facebook_url_rewriting.rb
134
- - lib/facebooker/rails/helpers.rb
135
141
  - lib/facebooker/rails/helpers/fb_connect.rb
142
+ - lib/facebooker/rails/helpers.rb
143
+ - lib/facebooker/rails/integration_session.rb
136
144
  - lib/facebooker/rails/profile_publisher_extensions.rb
137
145
  - lib/facebooker/rails/publisher.rb
138
146
  - lib/facebooker/rails/routing.rb
@@ -141,31 +149,36 @@ files:
141
149
  - lib/facebooker/server_cache.rb
142
150
  - lib/facebooker/service.rb
143
151
  - lib/facebooker/session.rb
152
+ - lib/facebooker/session.rb.orig
153
+ - lib/facebooker/session.rb.rej
144
154
  - lib/facebooker/version.rb
155
+ - lib/facebooker.rb
145
156
  - lib/net/http_multipart_post.rb
146
157
  - lib/tasks/facebooker.rake
147
158
  - lib/tasks/tunnel.rake
148
159
  - rails/init.rb
149
160
  - setup.rb
150
161
  - templates/layout.erb
151
- - test/adapters_test.rb
152
- - test/batch_request_test.rb
153
- - test/event_test.rb
154
- - test/facebook_admin_test.rb
155
- - test/facebook_cache_test.rb
156
- - test/facebook_data_test.rb
162
+ - test/facebooker/adapters_test.rb
163
+ - test/facebooker/admin_test.rb
164
+ - test/facebooker/batch_request_test.rb
165
+ - test/facebooker/data_test.rb
166
+ - test/facebooker/logging_test.rb
167
+ - test/facebooker/model_test.rb
168
+ - test/facebooker/models/event_test.rb
169
+ - test/facebooker/models/user_test.rb
170
+ - test/facebooker/rails/publisher_test.rb
171
+ - test/facebooker/rails_integration_test.rb
172
+ - test/facebooker/server_cache_test.rb
173
+ - test/facebooker/session_test.rb
157
174
  - test/facebooker_test.rb
158
175
  - test/fixtures/multipart_post_body_with_only_parameters.txt
159
176
  - test/fixtures/multipart_post_body_with_single_file.txt
160
177
  - test/fixtures/multipart_post_body_with_single_file_that_has_nil_key.txt
161
- - test/http_multipart_post_test.rb
162
- - test/logging_test.rb
163
- - test/model_test.rb
164
- - test/publisher_test.rb
165
- - test/rails_integration_test.rb
166
- - test/session_test.rb
178
+ - test/net/http_multipart_post_test.rb
179
+ - test/rails_test_helper.rb
167
180
  - test/test_helper.rb
168
- - test/user_test.rb
181
+ - test/facebooker/mobile_test.rb
169
182
  has_rdoc: true
170
183
  homepage:
171
184
  post_install_message:
@@ -194,18 +207,18 @@ signing_key:
194
207
  specification_version: 2
195
208
  summary: Pure, idiomatic Ruby wrapper for the Facebook REST API.
196
209
  test_files:
197
- - test/adapters_test.rb
198
- - test/batch_request_test.rb
199
- - test/event_test.rb
200
- - test/facebook_admin_test.rb
201
- - test/facebook_cache_test.rb
202
- - test/facebook_data_test.rb
203
210
  - test/facebooker_test.rb
204
- - test/http_multipart_post_test.rb
205
- - test/logging_test.rb
206
- - test/model_test.rb
207
- - test/publisher_test.rb
208
- - test/rails_integration_test.rb
209
- - test/session_test.rb
210
- - test/test_helper.rb
211
- - test/user_test.rb
211
+ - test/facebooker/adapters_test.rb
212
+ - test/facebooker/admin_test.rb
213
+ - test/facebooker/batch_request_test.rb
214
+ - test/facebooker/data_test.rb
215
+ - test/facebooker/logging_test.rb
216
+ - test/facebooker/mobile_test.rb
217
+ - test/facebooker/model_test.rb
218
+ - test/facebooker/rails_integration_test.rb
219
+ - test/facebooker/server_cache_test.rb
220
+ - test/facebooker/session_test.rb
221
+ - test/facebooker/models/event_test.rb
222
+ - test/facebooker/models/user_test.rb
223
+ - test/facebooker/rails/publisher_test.rb
224
+ - test/net/http_multipart_post_test.rb
@@ -1,18 +0,0 @@
1
- # module ActionView
2
- # module Helpers
3
- # module AssetTagHelper
4
- # def compute_public_path_with_facebooker(*args)
5
- # public_path=compute_public_path_without_facebooker(*args)
6
- # if public_path.starts_with?(ActionController::Base.asset_host)
7
- # str=ActionController::Base.asset_host
8
- # str += "/" unless str.ends_with?("/")
9
- # public_path.gsub(/#{Regexp.escape(ActionController::Base.asset_host)}#{@controller.request.relative_url_root}\//,str)
10
- # else
11
- # public_path
12
- # end
13
- # end
14
- #
15
- # alias_method_chain :compute_public_path, :facebooker
16
- # end
17
- # end
18
- # end