fb_graph 1.2.3 → 1.2.4

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.
Files changed (52) hide show
  1. data/Rakefile +2 -2
  2. data/VERSION +1 -1
  3. data/fb_graph.gemspec +37 -10
  4. data/lib/fb_graph/action.rb +12 -0
  5. data/lib/fb_graph/auth/cookie.rb +1 -1
  6. data/lib/fb_graph/checkin.rb +7 -6
  7. data/lib/fb_graph/collection.rb +5 -5
  8. data/lib/fb_graph/group.rb +3 -1
  9. data/lib/fb_graph/link.rb +1 -0
  10. data/lib/fb_graph/location.rb +20 -0
  11. data/lib/fb_graph/node.rb +2 -5
  12. data/lib/fb_graph/page.rb +9 -3
  13. data/lib/fb_graph/post.rb +22 -2
  14. data/lib/fb_graph/privacy.rb +27 -0
  15. data/lib/fb_graph/searchable/result.rb +1 -1
  16. data/lib/fb_graph/serialization.rb +15 -0
  17. data/lib/fb_graph/targeting.rb +23 -0
  18. data/lib/fb_graph/venue.rb +3 -6
  19. data/lib/fb_graph.rb +10 -4
  20. data/spec/fake_json/applications/test_users/created.json +5 -0
  21. data/spec/fake_json/applications/test_users/private.json +14 -0
  22. data/spec/fake_json/pages/search_fb_graph.json +9 -0
  23. data/spec/fake_json/pages/search_google.json +133 -0
  24. data/spec/fake_json/posts/no_comments.json +31 -0
  25. data/spec/fake_json/token_response.json +1 -0
  26. data/spec/fake_json/users/checkins/posted.json +1 -0
  27. data/spec/fb_graph/application_spec.rb +16 -1
  28. data/spec/fb_graph/auth/cookie_spec.rb +19 -0
  29. data/spec/fb_graph/auth_spec.rb +15 -0
  30. data/spec/fb_graph/checkin_spec.rb +6 -1
  31. data/spec/fb_graph/collection_spec.rb +6 -0
  32. data/spec/fb_graph/connections/checkins_spec.rb +18 -0
  33. data/spec/fb_graph/connections/comments_spec.rb +24 -1
  34. data/spec/fb_graph/connections/feed_spec.rb +8 -2
  35. data/spec/fb_graph/connections/home_spec.rb +4 -1
  36. data/spec/fb_graph/connections/likes_spec.rb +2 -2
  37. data/spec/fb_graph/connections/posts_spec.rb +4 -1
  38. data/spec/fb_graph/connections/subscriptions_spec.rb +31 -0
  39. data/spec/fb_graph/connections/tagged_spec.rb +4 -1
  40. data/spec/fb_graph/connections/test_users_spec.rb +49 -0
  41. data/spec/fb_graph/exception_spec.rb +47 -0
  42. data/spec/fb_graph/location_spec.rb +28 -0
  43. data/spec/fb_graph/node_spec.rb +27 -0
  44. data/spec/fb_graph/page_spec.rb +7 -0
  45. data/spec/fb_graph/post_spec.rb +70 -1
  46. data/spec/fb_graph/privacy_spec.rb +33 -0
  47. data/spec/fb_graph/searchable_spec.rb +31 -0
  48. data/spec/fb_graph/seriarization_spec.rb +29 -0
  49. data/spec/fb_graph/targeting_spec.rb +34 -0
  50. data/spec/fb_graph/test_user_spec.rb +14 -8
  51. data/spec/helpers/fake_json_helper.rb +8 -0
  52. metadata +43 -12
@@ -2,7 +2,76 @@ require File.join(File.dirname(__FILE__), '../spec_helper')
2
2
 
3
3
  describe FbGraph::Post, '.new' do
4
4
  it 'should setup all supported attributes' do
5
- # TODO
5
+ attributes = {
6
+ :id => "579612276_10150089741782277",
7
+ :message => "hello",
8
+ :from => {
9
+ :name => "Nov Matake",
10
+ :id => "579612276"
11
+ },
12
+ :icon => "http://photos-d.ak.fbcdn.net/photos-ak-snc1/v27562/23/2231777543/app_2_2231777543_9553.gif",
13
+ :type => "status",
14
+ :attribution => "Twitter",
15
+ :actions => [{
16
+ :name => "Comment",
17
+ :link => "http://www.facebook.com/579612276/posts/10150089741782277"
18
+ }, {
19
+ :name => "Like",
20
+ :link => "http://www.facebook.com/579612276/posts/10150089741782277"
21
+ }, {
22
+ :name => "@nov on Twitter",
23
+ :link => "http://twitter.com/nov?utm_source=fb&utm_medium=fb&utm_campaign=nov&utm_content=19294280413614080"
24
+ }],
25
+ :privacy => {
26
+ :value => "EVERYONE",
27
+ :description => "Everyone"
28
+ },
29
+ :targeting => {
30
+ :country => 'ja'
31
+ },
32
+ :created_time => "2010-12-27T07:31:30+0000",
33
+ :updated_time => "2010-12-27T07:31:30+0000"
34
+ }
35
+ post = FbGraph::Post.new(attributes.delete(:id), attributes)
36
+ post.identifier.should == '579612276_10150089741782277'
37
+ post.message.should == 'hello'
38
+ post.from.should == FbGraph::User.new("579612276", :name => 'Nov Matake')
39
+ post.icon.should == 'http://photos-d.ak.fbcdn.net/photos-ak-snc1/v27562/23/2231777543/app_2_2231777543_9553.gif'
40
+ post.type.should == 'status'
41
+ post.attribution.should == 'Twitter'
42
+ post.actions.should == [
43
+ FbGraph::Action.new(
44
+ :name => "Comment",
45
+ :link => "http://www.facebook.com/579612276/posts/10150089741782277"
46
+ ),
47
+ FbGraph::Action.new(
48
+ :name => "Like",
49
+ :link => "http://www.facebook.com/579612276/posts/10150089741782277"
50
+ ),
51
+ FbGraph::Action.new(
52
+ :name => "@nov on Twitter",
53
+ :link => "http://twitter.com/nov?utm_source=fb&utm_medium=fb&utm_campaign=nov&utm_content=19294280413614080"
54
+ )
55
+ ]
56
+ post.privacy.should == FbGraph::Privacy.new(
57
+ :value => "EVERYONE",
58
+ :description => "Everyone"
59
+ )
60
+ post.targeting.should == FbGraph::Targeting.new(
61
+ :country => 'ja'
62
+ )
63
+ post.created_time.should == Time.parse("2010-12-27T07:31:30+0000")
64
+ post.updated_time.should == Time.parse("2010-12-27T07:31:30+0000")
65
+ end
66
+
67
+ it 'should support FbGraph::Privacy as privacy' do
68
+ post = FbGraph::Post.new(12345, :privacy => FbGraph::Privacy.new(:value => 'EVERYONE'))
69
+ post.privacy.should == FbGraph::Privacy.new(:value => 'EVERYONE')
70
+ end
71
+
72
+ it 'should support FbGraph::Targeting as targeting' do
73
+ post = FbGraph::Post.new(12345, :targeting => FbGraph::Targeting.new(:country => 'ja'))
74
+ post.targeting.should == FbGraph::Targeting.new(:country => 'ja')
6
75
  end
7
76
 
8
77
  it 'should support page as from' do
@@ -0,0 +1,33 @@
1
+ require File.join(File.dirname(__FILE__), '../spec_helper')
2
+
3
+ describe FbGraph::Privacy, '.new' do
4
+ it 'should setup all supported attributes' do
5
+ attributes = {
6
+ :value => 'CUSTOM',
7
+ :friends => 'SOME_FRIENDS',
8
+ :networks => '123,456,789',
9
+ :allow => '999,888,777',
10
+ :deny => '000,111,222'
11
+ }
12
+ privacy = FbGraph::Privacy.new(attributes)
13
+ privacy.value.should == 'CUSTOM'
14
+ privacy.friends.should == 'SOME_FRIENDS'
15
+ privacy.networks.should == '123,456,789'
16
+ privacy.allow.should == '999,888,777'
17
+ privacy.deny.should == '000,111,222'
18
+ end
19
+ end
20
+
21
+ describe FbGraph::Privacy, '.to_json' do
22
+ it 'should return JSON object' do
23
+ attributes = {
24
+ :value => 'CUSTOM',
25
+ :friends => 'SOME_FRIENDS',
26
+ :networks => '123,456,789',
27
+ :allow => '999,888,777',
28
+ :deny => '000,111,222'
29
+ }
30
+ privacy = FbGraph::Privacy.new(attributes)
31
+ privacy.to_json.should == attributes.to_json
32
+ end
33
+ end
@@ -0,0 +1,31 @@
1
+ require File.join(File.dirname(__FILE__), '../spec_helper')
2
+
3
+ describe FbGraph::Searchable do
4
+ context 'when included by FbGraph::Page' do
5
+ it 'should with type=page' do
6
+ lambda do
7
+ FbGraph::Page.search('FbGraph')
8
+ end.should request_to('search?q=FbGraph&type=page')
9
+ end
10
+ end
11
+ end
12
+
13
+ describe FbGraph::Searchable::Result do
14
+ before do
15
+ fake_json :get, 'search?q=fbgraph&type=page', 'pages/search_fb_graph'
16
+ fake_json :get, 'search?limit=25&offset=25&q=google&type=page', 'pages/search_google'
17
+ @fb_graph = FbGraph::Page.search('fbgraph')
18
+ @google_page2 = FbGraph::Page.search('google', :limit => 25, :offset => 25)
19
+ end
20
+
21
+ it 'should support pagination' do
22
+ @fb_graph.next.should == []
23
+ @fb_graph.previous.should == []
24
+ lambda do
25
+ @google_page2.next
26
+ end.should request_to('search?limit=25&offset=50&q=google&type=page')
27
+ lambda do
28
+ @google_page2.previous
29
+ end.should request_to('search?limit=25&offset=0&q=google&type=page')
30
+ end
31
+ end
@@ -0,0 +1,29 @@
1
+ require File.join(File.dirname(__FILE__), '../spec_helper')
2
+
3
+ class Klass1
4
+ include FbGraph::Serialization
5
+ attr_accessor :att1, :att2
6
+ end
7
+
8
+ class Klass2 < Klass1
9
+ def to_hash
10
+ {:att1 => self.att1, :att2 => self.att2}
11
+ end
12
+ end
13
+
14
+ describe FbGraph::Serialization do
15
+ before do
16
+ @node1 = Klass1.new
17
+ @node2 = Klass2.new
18
+ @node1.att1 = "hello"
19
+ @node2.att1 = "hello"
20
+ end
21
+
22
+ it 'should require to_hash' do
23
+ lambda do
24
+ @node1.to_json
25
+ end.should raise_error(StandardError, 'Define Klass1#to_hash!')
26
+ @node2.to_hash == {:att1 => 'hello', :att2 => nil}
27
+ @node2.to_json == {:att1 => 'hello'}.to_json
28
+ end
29
+ end
@@ -0,0 +1,34 @@
1
+ require File.join(File.dirname(__FILE__), '../spec_helper')
2
+
3
+ describe FbGraph::Targeting, '.new' do
4
+ it 'should setup all supported attributes' do
5
+ attributes = {
6
+ :country => 'jp',
7
+ :city => 'Tokyo',
8
+ :region => 'Tokyo',
9
+ :locale => 9
10
+ }
11
+ targeting = FbGraph::Targeting.new(attributes)
12
+ targeting.country.should == 'jp'
13
+ targeting.city.should == 'Tokyo'
14
+ targeting.region.should == 'Tokyo'
15
+ targeting.locale.should == 9
16
+ end
17
+ end
18
+
19
+ describe FbGraph::Targeting, '.to_json' do
20
+ it 'should return JSON object' do
21
+ attributes = {
22
+ :country => 'jp',
23
+ :city => 'Tokyo',
24
+ :locale => 9,
25
+ :region => 'Tokyo'
26
+ }
27
+ targeting = FbGraph::Targeting.new(attributes)
28
+ hash = JSON.parse(targeting.to_json).with_indifferent_access
29
+ hash[:country].should == attributes[:country]
30
+ hash[:city].should == attributes[:city]
31
+ hash[:locale].should == attributes[:locale]
32
+ hash[:region].should == attributes[:region]
33
+ end
34
+ end
@@ -24,21 +24,27 @@ describe FbGraph::TestUser, '.friend!' do
24
24
  it 'should POST twice' do
25
25
  lambda do
26
26
  @u1.friend! @u2
27
- end.should raise_error(
28
- FakeWeb::NetConnectNotAllowedError,
29
- "Real HTTP connections are disabled. Unregistered request: POST https://graph.facebook.com/111/friends/222"
30
- )
27
+ end.should request_to('111/friends/222', :post)
31
28
  fake_json(:post, '111/friends/222', 'true')
32
29
  lambda do
33
30
  @u1.friend! @u2
34
- end.should raise_error(
35
- FakeWeb::NetConnectNotAllowedError,
36
- "Real HTTP connections are disabled. Unregistered request: POST https://graph.facebook.com/222/friends/111"
37
- )
31
+ end.should request_to('222/friends/111', :post)
38
32
  fake_json(:post, '222/friends/111', 'true')
39
33
  lambda do
40
34
  @u1.friend! @u2
41
35
  end.should_not raise_error(FakeWeb::NetConnectNotAllowedError)
42
36
  end
43
37
 
38
+ end
39
+
40
+ describe FbGraph::TestUser, '.destroy' do
41
+ before do
42
+ @user = FbGraph::TestUser.new(111, :access_token => 'token1')
43
+ end
44
+
45
+ it 'should DELETE /user_id' do
46
+ lambda do
47
+ @user.destroy
48
+ end.should request_to('111?access_token=token1', :delete)
49
+ end
44
50
  end
@@ -10,6 +10,14 @@ module FakeJsonHelper
10
10
  )
11
11
  end
12
12
 
13
+ def request_to(path, method = :get)
14
+ endpoint = File.join(FbGraph::ROOT_URL, path)
15
+ raise_error(
16
+ FakeWeb::NetConnectNotAllowedError,
17
+ "Real HTTP connections are disabled. Unregistered request: #{method.to_s.upcase} #{endpoint}"
18
+ )
19
+ end
20
+
13
21
  def fake_fql_json(query, file_path, options = {})
14
22
  params = {
15
23
  :query => query,
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fb_graph
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
5
- prerelease: false
4
+ hash: 23
5
+ prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 2
9
- - 3
10
- version: 1.2.3
9
+ - 4
10
+ version: 1.2.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - nov matake
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-12-25 00:00:00 +09:00
18
+ date: 2011-01-03 00:00:00 +09:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -26,10 +26,12 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- hash: 3
29
+ hash: 1
30
30
  segments:
31
- - 0
32
- version: "0"
31
+ - 1
32
+ - 4
33
+ - 3
34
+ version: 1.4.3
33
35
  type: :runtime
34
36
  version_requirements: *id001
35
37
  - !ruby/object:Gem::Dependency
@@ -40,10 +42,11 @@ dependencies:
40
42
  requirements:
41
43
  - - ">="
42
44
  - !ruby/object:Gem::Version
43
- hash: 3
45
+ hash: 5
44
46
  segments:
45
- - 0
46
- version: "0"
47
+ - 2
48
+ - 3
49
+ version: "2.3"
47
50
  type: :runtime
48
51
  version_requirements: *id002
49
52
  - !ruby/object:Gem::Dependency
@@ -141,6 +144,7 @@ files:
141
144
  - assets/fb_graph.png
142
145
  - fb_graph.gemspec
143
146
  - lib/fb_graph.rb
147
+ - lib/fb_graph/action.rb
144
148
  - lib/fb_graph/album.rb
145
149
  - lib/fb_graph/application.rb
146
150
  - lib/fb_graph/auth.rb
@@ -191,19 +195,23 @@ files:
191
195
  - lib/fb_graph/group.rb
192
196
  - lib/fb_graph/insight.rb
193
197
  - lib/fb_graph/link.rb
198
+ - lib/fb_graph/location.rb
194
199
  - lib/fb_graph/node.rb
195
200
  - lib/fb_graph/note.rb
196
201
  - lib/fb_graph/page.rb
197
202
  - lib/fb_graph/photo.rb
198
203
  - lib/fb_graph/place.rb
199
204
  - lib/fb_graph/post.rb
205
+ - lib/fb_graph/privacy.rb
200
206
  - lib/fb_graph/project.rb
201
207
  - lib/fb_graph/query.rb
202
208
  - lib/fb_graph/searchable.rb
203
209
  - lib/fb_graph/searchable/result.rb
210
+ - lib/fb_graph/serialization.rb
204
211
  - lib/fb_graph/status.rb
205
212
  - lib/fb_graph/subscription.rb
206
213
  - lib/fb_graph/tag.rb
214
+ - lib/fb_graph/targeting.rb
207
215
  - lib/fb_graph/test_user.rb
208
216
  - lib/fb_graph/user.rb
209
217
  - lib/fb_graph/venue.rb
@@ -212,6 +220,8 @@ files:
212
220
  - spec/fake_json/albums/photos/matake_private.json
213
221
  - spec/fake_json/albums/photos/post_with_valid_access_token.json
214
222
  - spec/fake_json/applications/subscriptions/fb_graph_private.json
223
+ - spec/fake_json/applications/test_users/created.json
224
+ - spec/fake_json/applications/test_users/private.json
215
225
  - spec/fake_json/checkins/search_private.json
216
226
  - spec/fake_json/checkins/search_public.json
217
227
  - spec/fake_json/events/attending/post_with_valid_access_token.json
@@ -232,6 +242,8 @@ files:
232
242
  - spec/fake_json/pages/notes/post_with_valid_access_token.json
233
243
  - spec/fake_json/pages/platform_private.json
234
244
  - spec/fake_json/pages/platform_public.json
245
+ - spec/fake_json/pages/search_fb_graph.json
246
+ - spec/fake_json/pages/search_google.json
235
247
  - spec/fake_json/pages/statuses/platform_private.json
236
248
  - spec/fake_json/pages/statuses/platform_public.json
237
249
  - spec/fake_json/posts/comments/post_with_invalid_access_token.json
@@ -240,12 +252,14 @@ files:
240
252
  - spec/fake_json/posts/likes/post_with_invalid_access_token.json
241
253
  - spec/fake_json/posts/likes/post_with_valid_access_token.json
242
254
  - spec/fake_json/posts/likes/post_without_access_token.json
255
+ - spec/fake_json/posts/no_comments.json
243
256
  - spec/fake_json/posts/platform_private.json
244
257
  - spec/fake_json/posts/platform_public.json
245
258
  - spec/fake_json/query/user/with_invalid_token.json
246
259
  - spec/fake_json/query/user/with_valid_token.json
247
260
  - spec/fake_json/query/user/without_token.json
248
261
  - spec/fake_json/statuses/with_likes.json
262
+ - spec/fake_json/token_response.json
249
263
  - spec/fake_json/true.json
250
264
  - spec/fake_json/users/accounts/matake_private.json
251
265
  - spec/fake_json/users/accounts/matake_private_with_manage_pages_permission.json
@@ -261,6 +275,7 @@ files:
261
275
  - spec/fake_json/users/books/matake_public.json
262
276
  - spec/fake_json/users/checkins/mattt_private.json
263
277
  - spec/fake_json/users/checkins/mattt_public.json
278
+ - spec/fake_json/users/checkins/posted.json
264
279
  - spec/fake_json/users/events/matake_private.json
265
280
  - spec/fake_json/users/events/matake_public.json
266
281
  - spec/fake_json/users/events/post_with_valid_access_token.json
@@ -302,6 +317,7 @@ files:
302
317
  - spec/fake_json/users/videos/kirk_private.json
303
318
  - spec/fb_graph/album_spec.rb
304
319
  - spec/fb_graph/application_spec.rb
320
+ - spec/fb_graph/auth/cookie_spec.rb
305
321
  - spec/fb_graph/auth_spec.rb
306
322
  - spec/fb_graph/checkin_spec.rb
307
323
  - spec/fb_graph/collection_spec.rb
@@ -339,23 +355,30 @@ files:
339
355
  - spec/fb_graph/connections/subscriptions_spec.rb
340
356
  - spec/fb_graph/connections/tagged_spec.rb
341
357
  - spec/fb_graph/connections/television_spec.rb
358
+ - spec/fb_graph/connections/test_users_spec.rb
342
359
  - spec/fb_graph/connections/videos_spec.rb
343
360
  - spec/fb_graph/education_spec.rb
344
361
  - spec/fb_graph/event_spec.rb
362
+ - spec/fb_graph/exception_spec.rb
345
363
  - spec/fb_graph/friend_list_spec.rb
346
364
  - spec/fb_graph/group_spec.rb
347
365
  - spec/fb_graph/insight_spec.rb
348
366
  - spec/fb_graph/link_spec.rb
367
+ - spec/fb_graph/location_spec.rb
349
368
  - spec/fb_graph/node_spec.rb
350
369
  - spec/fb_graph/note_spec.rb
351
370
  - spec/fb_graph/page_spec.rb
352
371
  - spec/fb_graph/photo_spec.rb
353
372
  - spec/fb_graph/post_spec.rb
373
+ - spec/fb_graph/privacy_spec.rb
354
374
  - spec/fb_graph/project_spec.rb
355
375
  - spec/fb_graph/query/core_spec.rb
376
+ - spec/fb_graph/searchable_spec.rb
377
+ - spec/fb_graph/seriarization_spec.rb
356
378
  - spec/fb_graph/status_spec.rb
357
379
  - spec/fb_graph/subscription_spec.rb
358
380
  - spec/fb_graph/tag_spec.rb
381
+ - spec/fb_graph/targeting_spec.rb
359
382
  - spec/fb_graph/test_user_spec.rb
360
383
  - spec/fb_graph/user_spec.rb
361
384
  - spec/fb_graph/venue_spec.rb
@@ -394,13 +417,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
394
417
  requirements: []
395
418
 
396
419
  rubyforge_project:
397
- rubygems_version: 1.3.7
420
+ rubygems_version: 1.4.1
398
421
  signing_key:
399
422
  specification_version: 3
400
423
  summary: A full-stack Facebook Graph API wrapper in Ruby.
401
424
  test_files:
402
425
  - spec/fb_graph/album_spec.rb
403
426
  - spec/fb_graph/application_spec.rb
427
+ - spec/fb_graph/auth/cookie_spec.rb
404
428
  - spec/fb_graph/auth_spec.rb
405
429
  - spec/fb_graph/checkin_spec.rb
406
430
  - spec/fb_graph/collection_spec.rb
@@ -438,23 +462,30 @@ test_files:
438
462
  - spec/fb_graph/connections/subscriptions_spec.rb
439
463
  - spec/fb_graph/connections/tagged_spec.rb
440
464
  - spec/fb_graph/connections/television_spec.rb
465
+ - spec/fb_graph/connections/test_users_spec.rb
441
466
  - spec/fb_graph/connections/videos_spec.rb
442
467
  - spec/fb_graph/education_spec.rb
443
468
  - spec/fb_graph/event_spec.rb
469
+ - spec/fb_graph/exception_spec.rb
444
470
  - spec/fb_graph/friend_list_spec.rb
445
471
  - spec/fb_graph/group_spec.rb
446
472
  - spec/fb_graph/insight_spec.rb
447
473
  - spec/fb_graph/link_spec.rb
474
+ - spec/fb_graph/location_spec.rb
448
475
  - spec/fb_graph/node_spec.rb
449
476
  - spec/fb_graph/note_spec.rb
450
477
  - spec/fb_graph/page_spec.rb
451
478
  - spec/fb_graph/photo_spec.rb
452
479
  - spec/fb_graph/post_spec.rb
480
+ - spec/fb_graph/privacy_spec.rb
453
481
  - spec/fb_graph/project_spec.rb
454
482
  - spec/fb_graph/query/core_spec.rb
483
+ - spec/fb_graph/searchable_spec.rb
484
+ - spec/fb_graph/seriarization_spec.rb
455
485
  - spec/fb_graph/status_spec.rb
456
486
  - spec/fb_graph/subscription_spec.rb
457
487
  - spec/fb_graph/tag_spec.rb
488
+ - spec/fb_graph/targeting_spec.rb
458
489
  - spec/fb_graph/test_user_spec.rb
459
490
  - spec/fb_graph/user_spec.rb
460
491
  - spec/fb_graph/venue_spec.rb