fb_graph2 0.1.3 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/lib/fb_graph2/collection.rb +4 -2
  4. data/lib/fb_graph2/edge.rb +1 -1
  5. data/lib/fb_graph2/edge/banned.rb +17 -0
  6. data/lib/fb_graph2/edge/offers.rb +5 -0
  7. data/lib/fb_graph2/friend_list.rb +0 -2
  8. data/lib/fb_graph2/offer.rb +2 -3
  9. data/lib/fb_graph2/user.rb +2 -0
  10. data/spec/fb_graph2/edge/applications_spec.rb +20 -0
  11. data/spec/fb_graph2/edge/attending_spec.rb +20 -0
  12. data/spec/fb_graph2/edge/banned_spec.rb +60 -0
  13. data/spec/fb_graph2/edge/blocked_spec.rb +1 -1
  14. data/spec/fb_graph2/edge/comments_spec.rb +1 -1
  15. data/spec/fb_graph2/edge/declined_spec.rb +20 -0
  16. data/spec/fb_graph2/edge/inbox_spec.rb +20 -0
  17. data/spec/fb_graph2/edge/invited_spec.rb +20 -0
  18. data/spec/fb_graph2/edge/maybe_spec.rb +20 -0
  19. data/spec/fb_graph2/edge/members_spec.rb +21 -0
  20. data/spec/fb_graph2/edge/noreply_spec.rb +20 -0
  21. data/spec/fb_graph2/edge/offers_spec.rb +35 -0
  22. data/spec/fb_graph2/edge/outbox_spec.rb +19 -0
  23. data/spec/fb_graph2/edge/roles_spec.rb +20 -0
  24. data/spec/fb_graph2/edge_spec.rb +1 -1
  25. data/spec/fb_graph2/page_spec.rb +7 -7
  26. data/spec/mock_json/app/banned.json +12 -0
  27. data/spec/mock_json/app/roles.json +10 -0
  28. data/spec/mock_json/event/attending.json +17 -0
  29. data/spec/mock_json/event/declined.json +17 -0
  30. data/spec/mock_json/event/invited.json +17 -0
  31. data/spec/mock_json/event/maybe.json +17 -0
  32. data/spec/mock_json/event/noreply.json +17 -0
  33. data/spec/mock_json/group/members.json +22 -0
  34. data/spec/mock_json/page/offers.json +19 -0
  35. data/spec/mock_json/user/applications.json +16 -0
  36. data/spec/mock_json/user/events.json +2 -2
  37. data/spec/mock_json/user/inbox.json +41 -0
  38. data/spec/mock_json/user/notifications.json +2 -2
  39. data/spec/mock_json/user/outbox.json +36 -0
  40. data/spec/mock_json/user/statuses.json +2 -2
  41. metadata +26 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7000a466f8c2cf12f0fca401eb5fdd1651745392
4
- data.tar.gz: 4cc82ba45ae78798767f6f2191e5d9496d790442
3
+ metadata.gz: 7f05a10f821a086f7ea190dbcc24779b6be74800
4
+ data.tar.gz: a5f88f9a3b0d588ad8cc347ea87d7981d68a3a9c
5
5
  SHA512:
6
- metadata.gz: bd8d385375e635ee8655d78e60dcfb1f1722765f4296b110a7257d6180ffde0a87ae5bd43c445738524885e84e38f16068c76ad707ab1b21088960d5063bec34
7
- data.tar.gz: a942c1adad9ecf5b3c29713e61a43805fa82d59060609e6a42aa7d878b302af5423a924ddd105cf8b137ad9e7175af1464e281b79d4e6f2681003e0596b93f2b
6
+ metadata.gz: 02d5b41196ae8d6736e0573b8ea6140b397ae64657595c9f6b991d2b9e41363a64d9600600989771ae3b75d203ec249c420fa71654984289d37e3e179c297006
7
+ data.tar.gz: 99cc98fd43dd6f6a7f5923bd06f352a1ce8f136d335827cf09acf9b0f286e010ff8429a83e24f9527f5fa7f9c9992bedbd32c04d9b012762f7556ec30a5f54c4
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.3
1
+ 0.2.0
@@ -1,6 +1,6 @@
1
1
  module FbGraph2
2
2
  class Collection < Array
3
- attr_accessor :before, :after, :next, :previous, :order, :total_count, :summary
3
+ attr_accessor :before, :after, :next, :previous, :total_count, :summary
4
4
 
5
5
  def initialize(collection = [])
6
6
  collection = normalize collection
@@ -35,8 +35,10 @@ module FbGraph2
35
35
 
36
36
  def summarize(summary)
37
37
  self.summary = summary
38
- self.order = summary.try(:[], :order)
39
38
  self.total_count = summary.try(:[], :total_count)
39
+ if summary.try(:[], :updated_time)
40
+ self.summary[:updated_time] = Time.parse summary[:updated_time]
41
+ end
40
42
  end
41
43
 
42
44
  def params_in(url)
@@ -1,7 +1,7 @@
1
1
  module FbGraph2
2
2
  class Edge < Collection
3
3
  attr_accessor :owner, :edge, :params, :options, :collection
4
- delegate :order, :total_count, to: :collection
4
+ delegate :summary, :total_count, to: :collection
5
5
 
6
6
  def initialize(owner, edge, params = {}, options = {})
7
7
  self.owner = owner
@@ -7,6 +7,23 @@ module FbGraph2
7
7
  User.new(user[:id], user).authenticate self.access_token
8
8
  end
9
9
  end
10
+
11
+ def banned?(user, params = {})
12
+ users = self.edge :banned, params, edge_scope: user
13
+ users.present?
14
+ end
15
+
16
+ def ban!(user, params = {})
17
+ self.post params.merge(
18
+ uid: Util.as_identifier(user)
19
+ ), edge: :banned
20
+ end
21
+
22
+ def unban!(user, params = {})
23
+ self.delete params.merge(
24
+ uid: Util.as_identifier(user)
25
+ ), edge: :banned
26
+ end
10
27
  end
11
28
  end
12
29
  end
@@ -7,6 +7,11 @@ module FbGraph2
7
7
  Offer.new(offer[:id], offer).authenticate self.access_token
8
8
  end
9
9
  end
10
+
11
+ def offer!(params = {})
12
+ offer = self.post params, edge: :offers
13
+ Offer.new(offer[:id], params.merge(offer)).authenticate self.access_token
14
+ end
10
15
  end
11
16
  end
12
17
  end
@@ -1,7 +1,5 @@
1
1
  module FbGraph2
2
2
  class FriendList < Node
3
- include Edge::Members
4
-
5
3
  register_attributes(
6
4
  raw: [:name, :list_type]
7
5
  )
@@ -1,9 +1,8 @@
1
1
  module FbGraph2
2
2
  class Offer < Node
3
3
  register_attributes(
4
- raw: [:claim_limit, :coupon_type, :image_url, :published, :redemption_code, :redemption_link, :terms, :title, :message],
5
- time: [:created_time, :expiration_time, :reminder_time],
6
- timestamp: [:scheduled_publish_time],
4
+ raw: [:claim_limit, :coupon_type, :image_url, :redemption_code, :redemption_link, :terms, :title, :message],
5
+ time: [:created_time, :expiration_time],
7
6
  page: [:from]
8
7
  )
9
8
  end
@@ -47,6 +47,8 @@ module FbGraph2
47
47
  :relationship,
48
48
  # NOTE: in page admin context
49
49
  :perms, :role,
50
+ # NOTE: in group context
51
+ :administrator,
50
52
  # NOTE: in photo tags context
51
53
  :x, :y
52
54
  ],
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+
3
+ describe FbGraph2::Edge::Applications do
4
+ context 'included in User' do
5
+ let(:me) { FbGraph2::User.me('token') }
6
+
7
+ describe '#applications' do
8
+ it 'should return an Array of FbGraph2::App' do
9
+ apps = mock_graph :get, 'me/applications/developer', 'user/applications', access_token: 'token' do
10
+ me.applications
11
+ end
12
+ apps.should be_instance_of FbGraph2::Edge
13
+ apps.should_not be_blank
14
+ apps.each do |app|
15
+ app.should be_instance_of FbGraph2::App
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+
3
+ describe FbGraph2::Edge::Attending do
4
+ context 'included in Event' do
5
+ let(:event) { FbGraph2::Event.new('event_id').authenticate('token') }
6
+
7
+ describe '#attending' do
8
+ it 'should return an Array of FbGraph2::User' do
9
+ users = mock_graph :get, 'event_id/attending', 'event/attending', access_token: 'token' do
10
+ event.attending
11
+ end
12
+ users.should be_instance_of FbGraph2::Edge
13
+ users.should_not be_blank
14
+ users.each do |user|
15
+ user.should be_instance_of FbGraph2::User
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,60 @@
1
+ require 'spec_helper'
2
+
3
+ describe FbGraph2::Edge::Banned do
4
+ context 'included in App' do
5
+ let(:app) { FbGraph2::App.app('app_token') }
6
+ let(:user_id) { 'user_id' }
7
+ let(:user) { FbGraph2::User.new(user_id) }
8
+
9
+ describe '#banned' do
10
+ it 'should return an Array of FbGraph2::User' do
11
+ users = mock_graph :get, 'app/banned', 'app/banned', access_token: 'app_token' do
12
+ app.banned
13
+ end
14
+ users.should be_instance_of FbGraph2::Edge
15
+ users.should_not be_blank
16
+ users.each do |user|
17
+ user.should be_instance_of FbGraph2::User
18
+ end
19
+ end
20
+ end
21
+
22
+ describe '#banned?' do
23
+ context 'when String given' do
24
+ it do
25
+ mock_graph :get, "app/banned/#{user_id}", 'app/banned', access_token: 'app_token' do
26
+ app.banned? user_id
27
+ end.should be true
28
+ end
29
+ end
30
+
31
+ context 'when FbGraph2::User given' do
32
+ it do
33
+ mock_graph :get, "app/banned/#{user_id}", 'app/banned', access_token: 'app_token' do
34
+ app.banned? user
35
+ end.should be true
36
+ end
37
+ end
38
+ end
39
+
40
+ describe '#ban!' do
41
+ it do
42
+ mock_graph :post, 'app/banned', 'true', access_token: 'app_token', params: {
43
+ uid: user_id
44
+ } do
45
+ app.ban! user
46
+ end.should be true
47
+ end
48
+ end
49
+
50
+ describe '#unban!' do
51
+ it do
52
+ mock_graph :delete, 'app/banned', 'true', access_token: 'app_token', params: {
53
+ uid: user_id
54
+ } do
55
+ app.unban! user
56
+ end.should be true
57
+ end
58
+ end
59
+ end
60
+ end
@@ -4,7 +4,7 @@ describe FbGraph2::Edge::Blocked do
4
4
  context 'included in Page' do
5
5
  let(:page) { FbGraph2::Page.new('page_id').authenticate('page_token') }
6
6
  let(:user_id) { 'user_id' }
7
- let(:user) { FbGraph2::Page.new(user_id) }
7
+ let(:user) { FbGraph2::User.new(user_id) }
8
8
 
9
9
  describe '#blocked' do
10
10
  it 'should return an Array of FbGraph2::User' do
@@ -49,7 +49,7 @@ describe FbGraph2::Edge::Comments do
49
49
  } do
50
50
  post.comments(summary: true)
51
51
  end
52
- comments.order.should == 'chronological'
52
+ comments.summary.should include order: 'chronological', total_count: 4
53
53
  comments.total_count.should == 4
54
54
  end
55
55
  end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+
3
+ describe FbGraph2::Edge::Declined do
4
+ context 'included in Event' do
5
+ let(:event) { FbGraph2::Event.new('event_id').authenticate('token') }
6
+
7
+ describe '#declined' do
8
+ it 'should return an Array of FbGraph2::User' do
9
+ users = mock_graph :get, 'event_id/declined', 'event/declined', access_token: 'token' do
10
+ event.declined
11
+ end
12
+ users.should be_instance_of FbGraph2::Edge
13
+ users.should_not be_blank
14
+ users.each do |user|
15
+ user.should be_instance_of FbGraph2::User
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+
3
+ describe FbGraph2::Edge::Inbox do
4
+ context 'included in User' do
5
+ describe '#inbox' do
6
+ let(:me) { FbGraph2::User.me('token') }
7
+ it 'should return an Array of FbGraph2::Thread' do
8
+ threads = mock_graph :get, 'me/inbox', 'user/inbox', access_token: 'token' do
9
+ me.inbox
10
+ end
11
+ threads.should be_instance_of FbGraph2::Edge
12
+ threads.should_not be_blank
13
+ threads.each do |thread|
14
+ thread.should be_instance_of FbGraph2::Thread
15
+ end
16
+ threads.summary.should include unseen_count: 0, unread_count: 0, updated_time: Time.parse('2014-09-02T03:51:40+0000')
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+
3
+ describe FbGraph2::Edge::Invited do
4
+ context 'included in Event' do
5
+ let(:event) { FbGraph2::Event.new('event_id').authenticate('token') }
6
+
7
+ describe '#invited' do
8
+ it 'should return an Array of FbGraph2::User' do
9
+ users = mock_graph :get, 'event_id/invited', 'event/invited', access_token: 'token' do
10
+ event.invited
11
+ end
12
+ users.should be_instance_of FbGraph2::Edge
13
+ users.should_not be_blank
14
+ users.each do |user|
15
+ user.should be_instance_of FbGraph2::User
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+
3
+ describe FbGraph2::Edge::Maybe do
4
+ context 'included in Event' do
5
+ let(:event) { FbGraph2::Event.new('event_id').authenticate('token') }
6
+
7
+ describe '#maybe' do
8
+ it 'should return an Array of FbGraph2::User' do
9
+ users = mock_graph :get, 'event_id/maybe', 'event/maybe', access_token: 'token' do
10
+ event.maybe
11
+ end
12
+ users.should be_instance_of FbGraph2::Edge
13
+ users.should_not be_blank
14
+ users.each do |user|
15
+ user.should be_instance_of FbGraph2::User
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,21 @@
1
+ require 'spec_helper'
2
+
3
+ describe FbGraph2::Edge::Members do
4
+ context 'included in Group' do
5
+ let(:group) { FbGraph2::Group.new('group_id').authenticate('token') }
6
+
7
+ describe '#invited' do
8
+ it 'should return an Array of FbGraph2::User' do
9
+ users = mock_graph :get, 'group_id/members', 'group/members', access_token: 'token' do
10
+ group.members
11
+ end
12
+ users.should be_instance_of FbGraph2::Edge
13
+ users.should_not be_blank
14
+ users.each do |user|
15
+ user.should be_instance_of FbGraph2::User
16
+ end
17
+ users.last.administrator.should be true
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+
3
+ describe FbGraph2::Edge::Noreply do
4
+ context 'included in Event' do
5
+ let(:event) { FbGraph2::Event.new('event_id').authenticate('token') }
6
+
7
+ describe '#noreply' do
8
+ it 'should return an Array of FbGraph2::User' do
9
+ users = mock_graph :get, 'event_id/noreply', 'event/noreply', access_token: 'token' do
10
+ event.noreply
11
+ end
12
+ users.should be_instance_of FbGraph2::Edge
13
+ users.should_not be_blank
14
+ users.each do |user|
15
+ user.should be_instance_of FbGraph2::User
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,35 @@
1
+ require 'spec_helper'
2
+
3
+ describe FbGraph2::Edge::Offers do
4
+ context 'included in Page' do
5
+ let(:page) { FbGraph2::Page.new('page_id').authenticate('page_token') }
6
+
7
+ describe '#offers' do
8
+ it 'should return an Array of FbGraph2::Offer' do
9
+ offers = mock_graph :get, 'page_id/offers', 'page/offers', access_token: 'page_token' do
10
+ page.offers
11
+ end
12
+ offers.should be_instance_of FbGraph2::Edge
13
+ offers.should_not be_blank
14
+ offers.each do |offer|
15
+ offer.should be_instance_of FbGraph2::Offer
16
+ end
17
+ end
18
+ end
19
+
20
+ describe '#offer!' do
21
+ it 'should return FbGraph2::Offer' do
22
+ offer = mock_graph :post, 'page_id/offers', 'success_with_id', access_token: 'page_token', params: {
23
+ title: 'Foobar',
24
+ expiration_time: 10.days.from_now.to_s
25
+ } do
26
+ page.offer!(
27
+ title: 'Foobar',
28
+ expiration_time: 10.days.from_now
29
+ )
30
+ end
31
+ offer.should be_instance_of FbGraph2::Offer
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+
3
+ describe FbGraph2::Edge::Outbox do
4
+ context 'included in User' do
5
+ describe '#outbox' do
6
+ let(:me) { FbGraph2::User.me('token') }
7
+ it 'should return an Array of FbGraph2::Thread' do
8
+ threads = mock_graph :get, 'me/outbox', 'user/outbox', access_token: 'token' do
9
+ me.outbox
10
+ end
11
+ threads.should be_instance_of FbGraph2::Edge
12
+ threads.should_not be_blank
13
+ threads.each do |thread|
14
+ thread.should be_instance_of FbGraph2::Thread
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+
3
+ describe FbGraph2::Edge::Roles do
4
+ context 'included in App' do
5
+ let(:app) { FbGraph2::App.app('app_token') }
6
+
7
+ describe '#roles' do
8
+ it 'should return an Array of FbGraph2::Struct::Role' do
9
+ roles = mock_graph :get, 'app/roles', 'app/roles', access_token: 'app_token' do
10
+ app.roles
11
+ end
12
+ roles.should be_instance_of FbGraph2::Edge
13
+ roles.should_not be_blank
14
+ roles.each do |role|
15
+ role.should be_instance_of FbGraph2::Struct::Role
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -16,7 +16,7 @@ describe FbGraph2::Edge do
16
16
 
17
17
  describe 'summary' do
18
18
  subject { comments }
19
- its(:order) { should == 'chronological' }
19
+ its(:summary) { should include order: 'chronological', total_count: 4 }
20
20
  its(:total_count) { should == 4 }
21
21
  end
22
22
 
@@ -24,37 +24,37 @@ describe FbGraph2::Page do
24
24
  describe '#parking' do
25
25
  subject { page.parking }
26
26
  [:street, :lot, :valet].each do |key|
27
- its(key) { should == false }
27
+ its(key) { should be false }
28
28
  end
29
29
  end
30
30
 
31
31
  describe '#restaurant_services' do
32
32
  subject { page.restaurant_services }
33
33
  [:kids, :delivery, :catering, :waiter, :outdoor, :takeout].each do |key|
34
- its(key) { should == false }
34
+ its(key) { should be false }
35
35
  end
36
36
  [:groups, :reserve, :walkins].each do |key|
37
- its(key) { should == true }
37
+ its(key) { should be true }
38
38
  end
39
39
  end
40
40
 
41
41
  describe '#restaurant_specialties' do
42
42
  subject { page.restaurant_specialties }
43
43
  [:coffee, :drinks, :breakfast, :lunch].each do |key|
44
- its(key) { should == false }
44
+ its(key) { should be false }
45
45
  end
46
46
  [:dinner].each do |key|
47
- its(key) { should == true }
47
+ its(key) { should be true }
48
48
  end
49
49
  end
50
50
 
51
51
  describe '#payment_options' do
52
52
  subject { page.payment_options }
53
53
  [:cash_only, :discover].each do |key|
54
- its(key) { should == false }
54
+ its(key) { should be false }
55
55
  end
56
56
  [:amex, :mastercard, :visa].each do |key|
57
- its(key) { should == true }
57
+ its(key) { should be true }
58
58
  end
59
59
  end
60
60
  end
@@ -0,0 +1,12 @@
1
+ {
2
+ "data": [{
3
+ "id": "100003934202581",
4
+ "name": "Open Graph Test User"
5
+ }],
6
+ "paging": {
7
+ "cursors": {
8
+ "before": "MTAwMDAzOTM0MjAyNTgx",
9
+ "after": "MTAwMDAzOTM0MjAyNTgx"
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "data": [{
3
+ "app_id": "210798282372757",
4
+ "user": "579612276",
5
+ "role": "administrators"
6
+ }],
7
+ "paging": {
8
+ "next": "https://graph.facebook.com/v2.1/210798282372757/roles?limit=5000&offset=5000&__after_id=enc_AezKeljwOb-ajJmD2AAQnxKG4ppLUt__oG9ScW9Um9PcjIxWf1zs1-LbrM8skz4rDAVCAQxs3SO_-GeS6OnwPJNA"
9
+ }
10
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "data": [{
3
+ "name": "Akira Otaishi",
4
+ "rsvp_status": "attending",
5
+ "id": "553375548107883"
6
+ }, {
7
+ "name": "Shin-ichiro Kagaya",
8
+ "rsvp_status": "attending",
9
+ "id": "241546062702044"
10
+ }],
11
+ "paging": {
12
+ "cursors": {
13
+ "after": "TVRBd01EQXdNRFl6TWpjME1qSTBPakUwTVRBMU1UQTJNREE2TVRZMU1EZzBPRGsyT0RRNE5UZ3g=",
14
+ "before": "TVRBd01EQXpNRFl6TWpjM01qTXhPakUwTVRBMU1UQTJNREE2TVRjMk9UQTRNVE0xTmpnM09UWXg="
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "data": [{
3
+ "name": "Akira Otaishi",
4
+ "rsvp_status": "attending",
5
+ "id": "553375548107883"
6
+ }, {
7
+ "name": "Shin-ichiro Kagaya",
8
+ "rsvp_status": "attending",
9
+ "id": "241546062702044"
10
+ }],
11
+ "paging": {
12
+ "cursors": {
13
+ "after": "TVRBd01EQXdNRFl6TWpjME1qSTBPakUwTVRBMU1UQTJNREE2TVRZMU1EZzBPRGsyT0RRNE5UZ3g=",
14
+ "before": "TVRBd01EQXpNRFl6TWpjM01qTXhPakUwTVRBMU1UQTJNREE2TVRjMk9UQTRNVE0xTmpnM09UWXg="
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "data": [{
3
+ "name": "Akira Otaishi",
4
+ "rsvp_status": "attending",
5
+ "id": "553375548107883"
6
+ }, {
7
+ "name": "Shin-ichiro Kagaya",
8
+ "rsvp_status": "attending",
9
+ "id": "241546062702044"
10
+ }],
11
+ "paging": {
12
+ "cursors": {
13
+ "after": "TVRBd01EQXdNRFl6TWpjME1qSTBPakUwTVRBMU1UQTJNREE2TVRZMU1EZzBPRGsyT0RRNE5UZ3g=",
14
+ "before": "TVRBd01EQXpNRFl6TWpjM01qTXhPakUwTVRBMU1UQTJNREE2TVRjMk9UQTRNVE0xTmpnM09UWXg="
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "data": [{
3
+ "name": "Akira Otaishi",
4
+ "rsvp_status": "attending",
5
+ "id": "553375548107883"
6
+ }, {
7
+ "name": "Shin-ichiro Kagaya",
8
+ "rsvp_status": "attending",
9
+ "id": "241546062702044"
10
+ }],
11
+ "paging": {
12
+ "cursors": {
13
+ "after": "TVRBd01EQXdNRFl6TWpjME1qSTBPakUwTVRBMU1UQTJNREE2TVRZMU1EZzBPRGsyT0RRNE5UZ3g=",
14
+ "before": "TVRBd01EQXpNRFl6TWpjM01qTXhPakUwTVRBMU1UQTJNREE2TVRjMk9UQTRNVE0xTmpnM09UWXg="
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "data": [{
3
+ "name": "Akira Otaishi",
4
+ "rsvp_status": "attending",
5
+ "id": "553375548107883"
6
+ }, {
7
+ "name": "Shin-ichiro Kagaya",
8
+ "rsvp_status": "attending",
9
+ "id": "241546062702044"
10
+ }],
11
+ "paging": {
12
+ "cursors": {
13
+ "after": "TVRBd01EQXdNRFl6TWpjME1qSTBPakUwTVRBMU1UQTJNREE2TVRZMU1EZzBPRGsyT0RRNE5UZ3g=",
14
+ "before": "TVRBd01EQXpNRFl6TWpjM01qTXhPakUwTVRBMU1UQTJNREE2TVRjMk9UQTRNVE0xTmpnM09UWXg="
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "data": [
3
+ {
4
+ "name": "Hayashi Tatsuya",
5
+ "administrator": false,
6
+ "id": "10152167763779825"
7
+ },
8
+ {
9
+ "name": "Ryo Ito",
10
+ "administrator": false,
11
+ "id": "10203204372262716"
12
+ },
13
+ {
14
+ "name": "Nov Matake",
15
+ "administrator": true,
16
+ "id": "579612276"
17
+ }
18
+ ],
19
+ "paging": {
20
+ "next": "https://graph.facebook.com/v2.1/343659285716553/members?limit=5000&offset=5000&__after_id=***"
21
+ }
22
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "data": [{
3
+ "id": "797106500309744",
4
+ "from": {
5
+ "category": "Software",
6
+ "name": "FbGraph",
7
+ "id": "117513961602338"
8
+ },
9
+ "title": "Foobar",
10
+ "created_time": "2014-09-02T09:56:14+0000",
11
+ "expiration_time": "2014-09-12T14:59:59+0000",
12
+ "image_url": "https:\/\/fbcdn-profile-a.akamaihd.net\/hprofile-ak-xap1\/v\/t1.0-1\/p200x200\/12758_485082394845491_483124061_n.png?oh=ffdf2fc204852be4167eebaeb7f1b2ec&oe=54733980&__gda__=1415926027_bbf6edaad90b94e23268131e6d8f258b",
13
+ "claim_limit": 1000000000,
14
+ "coupon_type": "in_store_only"
15
+ }],
16
+ "paging": {
17
+ "next": "https:\/\/graph.facebook.com\/v2.0\/117513961602338\/offers?limit=50&offset=50&__after_id=enc_Aey48t-R5OQbq6nWOeyBEJKEHiddR7mdWX_5Pg0nBoVbmDoe_Lr4d_5XIg4vhahIQ7oFJzHsY8P91oMo_GD_ZrNy"
18
+ }
19
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "data": [{
3
+ "name": "gem sample",
4
+ "namespace": "gem-sample",
5
+ "id": "210798282372757"
6
+ }, {
7
+ "name": "Localhost",
8
+ "id": "158245434257042"
9
+ }, {
10
+ "name": "OAuth.jp",
11
+ "id": "126213067419995"
12
+ }],
13
+ "paging": {
14
+ "next": "https://graph.facebook.com/v2.1/579612276/applications?type=developer&limit=25&offset=25&__after_id=***"
15
+ }
16
+ }
@@ -10,7 +10,7 @@
10
10
  }
11
11
  ],
12
12
  "paging": {
13
- "previous": "https://graph.facebook.com/v2.0/579612276/events?limit=25&since=1402653600&__paging_token=enc_AezFmlDRX4GTGnTULSAcMS7GEDiK296BwTlhQLHgty6ocPG7F6tHzNZgysABJrSyXW0Xxv4A9f87zl1ii9B02tZ7",
14
- "next": "https://graph.facebook.com/v2.0/579612276/events?limit=25&until=1402653600&__paging_token=enc_AexwobcxwDuR9BhmbM29GnNdQn7phvKIQGLtI-NeCFjlSP3uU6NeNGi10PTwl64OrNADgtn8PBNbJDsRwXGV1dg_"
13
+ "previous": "https://graph.facebook.com/v2.0/579612276/events?limit=25&since=1402653600&__paging_token=***",
14
+ "next": "https://graph.facebook.com/v2.0/579612276/events?limit=25&until=1402653600&__paging_token=***"
15
15
  }
16
16
  }
@@ -0,0 +1,41 @@
1
+ {
2
+ "data": [{
3
+ "id": "741737742539677",
4
+ "to": {
5
+ "data": [{
6
+ "id": "579612276",
7
+ "name": "Nov Matake"
8
+ }, {
9
+ "id": "10152167763779825",
10
+ "name": "Hayashi Tatsuya"
11
+ }]
12
+ },
13
+ "updated_time": "2014-09-02T03:51:40+0000",
14
+ "unread": 0,
15
+ "unseen": 0,
16
+ "comments": {
17
+ "data": [{
18
+ "id": "741737742539677_1409625688",
19
+ "from": {
20
+ "id": "579612276",
21
+ "name": "Nov Matake"
22
+ },
23
+ "message": "ヒゲキョクチョ",
24
+ "created_time": "2014-09-02T02:41:28+0000"
25
+ }],
26
+ "paging": {
27
+ "previous": "https://graph.facebook.com/v2.1/741737742539677/comments?limit=25&since=1409629900&__paging_token=***",
28
+ "next": "https://graph.facebook.com/v2.1/741737742539677/comments?limit=25&until=1409625439&__paging_token=***"
29
+ }
30
+ }
31
+ }],
32
+ "paging": {
33
+ "previous": "https://graph.facebook.com/v2.1/579612276/inbox?limit=25&since=1409629900&__paging_token=***",
34
+ "next": "https://graph.facebook.com/v2.1/579612276/inbox?limit=25&until=1403524175&__paging_token=***"
35
+ },
36
+ "summary": {
37
+ "unseen_count": 0,
38
+ "unread_count": 0,
39
+ "updated_time": "2014-09-02T03:51:40+0000"
40
+ }
41
+ }
@@ -39,7 +39,7 @@
39
39
  "unread": 1
40
40
  }],
41
41
  "paging": {
42
- "previous": "https://graph.facebook.com/v2.1/579612276/notifications?limit=5000&since=1409272999&__paging_token=enc_Aewp7NBZ5fIN12MTyeJziuFNDceCydTGsvVqg-hwrjPZBCnWi-W_fjsS1bNaXkZ9K-tS8wFhFQw4pOajivn20h3c",
43
- "next": "https://graph.facebook.com/v2.1/579612276/notifications?limit=5000&until=1408919679&__paging_token=enc_Aey6fAeKsVGCSCKsplC0g1FGjchGgmGajndTVwb-tzE0q7A8nT6C_1iVdwBRzXWdt3zKHh3yOjq6caxNtsTrD58s"
42
+ "previous": "https://graph.facebook.com/v2.1/579612276/notifications?limit=5000&since=1409272999&__paging_token=***",
43
+ "next": "https://graph.facebook.com/v2.1/579612276/notifications?limit=5000&until=1408919679&__paging_token=***"
44
44
  }
45
45
  }
@@ -0,0 +1,36 @@
1
+ {
2
+ "data": [{
3
+ "id": "741737742539677",
4
+ "to": {
5
+ "data": [{
6
+ "id": "579612276",
7
+ "name": "Nov Matake"
8
+ }, {
9
+ "id": "10152167763779825",
10
+ "name": "Hayashi Tatsuya"
11
+ }]
12
+ },
13
+ "updated_time": "2014-09-02T03:51:40+0000",
14
+ "unread": 0,
15
+ "unseen": 0,
16
+ "comments": {
17
+ "data": [{
18
+ "id": "741737742539677_1409625688",
19
+ "from": {
20
+ "id": "579612276",
21
+ "name": "Nov Matake"
22
+ },
23
+ "message": "ヒゲキョクチョ",
24
+ "created_time": "2014-09-02T02:41:28+0000"
25
+ }],
26
+ "paging": {
27
+ "previous": "https://graph.facebook.com/v2.1/741737742539677/comments?limit=25&since=1409629900&__paging_token=***",
28
+ "next": "https://graph.facebook.com/v2.1/741737742539677/comments?limit=25&until=1409625439&__paging_token=***"
29
+ }
30
+ }
31
+ }],
32
+ "paging": {
33
+ "previous": "https://graph.facebook.com/v2.1/579612276/outbox?limit=25&since=1409629900&__paging_token=***",
34
+ "next": "https://graph.facebook.com/v2.1/579612276/outbox?limit=25&until=1403014440&__paging_token=***"
35
+ }
36
+ }
@@ -9,7 +9,7 @@
9
9
  "updated_time": "2014-06-03T06:27:20+0000"
10
10
  }],
11
11
  "paging": {
12
- "previous": "https://graph.facebook.com/v2.0/579612276/statuses?limit=25&since=1401776840&__paging_token=enc_Aex8IwVNSggYJw8M6QIUUCJvf2TcGZpItipsxeT2NUupXAxD-01jC8oRxhDe9gGnJD-vMkN1tDEUjTuE83vcaIpq",
13
- "next": "https://graph.facebook.com/v2.0/579612276/statuses?limit=25&until=1384770778&__paging_token=enc_AewaF0Qo-zXVeD8fMKMQBs0GKoqDw6LXxOZhyn2z9HqW7_NBd1IvqlGOXrrL7DPpJNvx1A8-0G0_pf_OauViIb3I"
12
+ "previous": "https://graph.facebook.com/v2.0/579612276/statuses?limit=25&since=1401776840&__paging_token=***",
13
+ "next": "https://graph.facebook.com/v2.0/579612276/statuses?limit=25&until=1384770778&__paging_token=***"
14
14
  }
15
15
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fb_graph2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - nov matake
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-01 00:00:00.000000000 Z
11
+ date: 2014-09-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httpclient
@@ -291,29 +291,41 @@ files:
291
291
  - spec/fb_graph2/edge/activities_spec.rb
292
292
  - spec/fb_graph2/edge/admins_spec.rb
293
293
  - spec/fb_graph2/edge/albums_spec.rb
294
+ - spec/fb_graph2/edge/applications_spec.rb
295
+ - spec/fb_graph2/edge/attending_spec.rb
296
+ - spec/fb_graph2/edge/banned_spec.rb
294
297
  - spec/fb_graph2/edge/blocked_spec.rb
295
298
  - spec/fb_graph2/edge/books_spec.rb
296
299
  - spec/fb_graph2/edge/comments_spec.rb
300
+ - spec/fb_graph2/edge/declined_spec.rb
297
301
  - spec/fb_graph2/edge/events_spec.rb
298
302
  - spec/fb_graph2/edge/feed_spec.rb
299
303
  - spec/fb_graph2/edge/friend_lists_spec.rb
300
304
  - spec/fb_graph2/edge/friends_spec.rb
301
305
  - spec/fb_graph2/edge/groups_spec.rb
302
306
  - spec/fb_graph2/edge/home_spec.rb
307
+ - spec/fb_graph2/edge/inbox_spec.rb
303
308
  - spec/fb_graph2/edge/interests_spec.rb
304
309
  - spec/fb_graph2/edge/invitable_friends_spec.rb
310
+ - spec/fb_graph2/edge/invited_spec.rb
305
311
  - spec/fb_graph2/edge/likes_spec.rb
306
312
  - spec/fb_graph2/edge/links_spec.rb
313
+ - spec/fb_graph2/edge/maybe_spec.rb
314
+ - spec/fb_graph2/edge/members_spec.rb
307
315
  - spec/fb_graph2/edge/milestones_spec.rb
308
316
  - spec/fb_graph2/edge/movies_spec.rb
309
317
  - spec/fb_graph2/edge/music_spec.rb
318
+ - spec/fb_graph2/edge/noreply_spec.rb
310
319
  - spec/fb_graph2/edge/notifications_spec.rb
320
+ - spec/fb_graph2/edge/offers_spec.rb
321
+ - spec/fb_graph2/edge/outbox_spec.rb
311
322
  - spec/fb_graph2/edge/permissions_spec.rb
312
323
  - spec/fb_graph2/edge/photos_spec.rb
313
324
  - spec/fb_graph2/edge/picture_spec.rb
314
325
  - spec/fb_graph2/edge/pokes_spec.rb
315
326
  - spec/fb_graph2/edge/posts_spec.rb
316
327
  - spec/fb_graph2/edge/promotable_posts_spec.rb
328
+ - spec/fb_graph2/edge/roles_spec.rb
317
329
  - spec/fb_graph2/edge/scores_spec.rb
318
330
  - spec/fb_graph2/edge/shared_posts_spec.rb
319
331
  - spec/fb_graph2/edge/statuses_spec.rb
@@ -332,16 +344,25 @@ files:
332
344
  - spec/fb_graph2/util_spec.rb
333
345
  - spec/fb_graph2_spec.rb
334
346
  - spec/mock_json/app/app.json
347
+ - spec/mock_json/app/banned.json
348
+ - spec/mock_json/app/roles.json
335
349
  - spec/mock_json/app/subscriptions.json
336
350
  - spec/mock_json/app/test_users.json
337
351
  - spec/mock_json/blank_collection.json
338
352
  - spec/mock_json/error/400/191.json
339
353
  - spec/mock_json/error/400/2500.json
340
354
  - spec/mock_json/error/invalid_format.json
355
+ - spec/mock_json/event/attending.json
356
+ - spec/mock_json/event/declined.json
357
+ - spec/mock_json/event/invited.json
358
+ - spec/mock_json/event/maybe.json
359
+ - spec/mock_json/event/noreply.json
360
+ - spec/mock_json/group/members.json
341
361
  - spec/mock_json/page/admins.json
342
362
  - spec/mock_json/page/block_succeeded.json
343
363
  - spec/mock_json/page/blocked.json
344
364
  - spec/mock_json/page/milestones.json
365
+ - spec/mock_json/page/offers.json
345
366
  - spec/mock_json/page/promotable_posts.json
346
367
  - spec/mock_json/page/with_optional_fields.json
347
368
  - spec/mock_json/post/comments.json
@@ -357,6 +378,7 @@ files:
357
378
  - spec/mock_json/user/achievements.json
358
379
  - spec/mock_json/user/activities.json
359
380
  - spec/mock_json/user/albums.json
381
+ - spec/mock_json/user/applications.json
360
382
  - spec/mock_json/user/books.json
361
383
  - spec/mock_json/user/events.json
362
384
  - spec/mock_json/user/feed.json
@@ -364,6 +386,7 @@ files:
364
386
  - spec/mock_json/user/friends.json
365
387
  - spec/mock_json/user/groups.json
366
388
  - spec/mock_json/user/home.json
389
+ - spec/mock_json/user/inbox.json
367
390
  - spec/mock_json/user/interests.json
368
391
  - spec/mock_json/user/invitable_friends.json
369
392
  - spec/mock_json/user/likes.json
@@ -373,6 +396,7 @@ files:
373
396
  - spec/mock_json/user/movies.json
374
397
  - spec/mock_json/user/music.json
375
398
  - spec/mock_json/user/notifications.json
399
+ - spec/mock_json/user/outbox.json
376
400
  - spec/mock_json/user/permissions.json
377
401
  - spec/mock_json/user/photos.json
378
402
  - spec/mock_json/user/picture.json