fb_graph2 0.1.3 → 0.2.0

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 (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