fb_graph2 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f69edefe6360dd69310ab6c2c87dc9d94890d93b
4
- data.tar.gz: 8fcb5375fd51300055fe9e69779a0e75ca09da80
3
+ metadata.gz: cb23d11f93481b305d1edc1433580a7a62e2c344
4
+ data.tar.gz: 79b9f990bbb18327c530f5af0d9c6410614c3b69
5
5
  SHA512:
6
- metadata.gz: 0884c7248761519272ae057eddff6051121f5ae3b8138bb72e78152c39a94ae416e1368bd01d4172bc6c3dd7486952438582b994837fbd132e7fb50ca3044a78
7
- data.tar.gz: 465fef0736338ec0a102dc70c256a1b05ac103cff882b85aa24a5b586322191b9f2bf2b52b8aa230234ec176d028e3fb427602aa27fe9046450b2879128b8d82
6
+ metadata.gz: f49d9d739f9861eacec0297a3e6336d58d81d5f5eb072cb941556863e94d5de087f65cf5a1de7ef2fbf10d2f604af0f648ab667e0b665b5aa1c568412d0f291b
7
+ data.tar.gz: a6a2092207207a04d5761d3713376b088cc7a18d2583a67541b5efa054d35d248b30ab32a47c0b7a5c04f615a8706ffd4d22644de709bd52ec31720ed43df0f7
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.0
1
+ 0.3.1
data/fb_graph2.gemspec CHANGED
@@ -5,7 +5,7 @@ Gem::Specification.new do |gem|
5
5
  gem.email = ['nov@matake.jp']
6
6
  gem.summary = %q{Facebook Graph API v2.0 Wrapper in Ruby}
7
7
  gem.description = %q{Facebook Graph API v2.0 Wrapper in Ruby}
8
- gem.homepage = 'https://github.com/fb_graph2'
8
+ gem.homepage = 'https://github.com/nov/fb_graph2'
9
9
  gem.license = 'MIT'
10
10
 
11
11
  gem.files = `git ls-files -z`.split("\x0")
data/lib/fb_graph2/app.rb CHANGED
@@ -7,7 +7,7 @@ module FbGraph2
7
7
  include Edge::Groups
8
8
  include Edge::Permissions
9
9
  include Edge::Picture
10
- include Edge::Roles
10
+ include Edge::Roles::AppContext
11
11
  include Edge::Scores
12
12
  include Edge::StaticResources
13
13
  include Edge::Subscriptions
@@ -1,10 +1,27 @@
1
1
  module FbGraph2
2
2
  class Edge
3
3
  module Roles
4
- def roles(params = {})
5
- roles = self.edge :roles, params
6
- roles.collect! do |role|
7
- Struct::Role.new role
4
+ module AppContext
5
+ def roles(params = {})
6
+ roles = self.edge :roles, params
7
+ roles.collect! do |role|
8
+ Struct::Role.new role
9
+ end
10
+ end
11
+ end
12
+
13
+ module PageContext
14
+ def roles(*args)
15
+ params = args.extract_options!
16
+ users = self.edge :roles, params, edge_scope: args.first
17
+ users.collect! do |user|
18
+ User.new(user[:id], user).authenticate self.access_token
19
+ end
20
+ if args.first.present?
21
+ users.first
22
+ else
23
+ users
24
+ end
8
25
  end
9
26
  end
10
27
  end
@@ -14,6 +14,7 @@ module FbGraph2
14
14
  include Edge::Photos
15
15
  include Edge::Posts
16
16
  include Edge::PromotablePosts
17
+ include Edge::Roles::PageContext
17
18
  include Edge::Settings
18
19
  include Edge::Statuses
19
20
  include Edge::Tagged
@@ -17,4 +17,51 @@ describe FbGraph2::Edge::Roles do
17
17
  end
18
18
  end
19
19
  end
20
+
21
+ context 'included in Page' do
22
+ let(:page) { FbGraph2::Page.new('page_id').authenticate('page_token') }
23
+
24
+ describe '#roles' do
25
+ it 'should return an Array of FbGraph2::User' do
26
+ roles = mock_graph :get, 'page_id/roles', 'page/roles', access_token: 'page_token' do
27
+ page.roles
28
+ end
29
+ roles.should be_instance_of FbGraph2::Edge
30
+ roles.should_not be_blank
31
+ roles.each do |role|
32
+ role.should be_instance_of FbGraph2::User
33
+ end
34
+ end
35
+
36
+ context 'when blank' do
37
+ it 'should return a blank Array' do
38
+ roles = mock_graph :get, 'page_id/roles', 'blank_collection', access_token: 'page_token' do
39
+ page.roles
40
+ end
41
+ roles.should be_instance_of FbGraph2::Edge
42
+ roles.should be_blank
43
+ end
44
+ end
45
+
46
+ context 'when user context specified' do
47
+ let(:user) { FbGraph2::User.new('user_id') }
48
+
49
+ it 'should return a FbGraph2::User' do
50
+ role = mock_graph :get, 'page_id/roles/user_id', 'page/roles_single', access_token: 'page_token' do
51
+ page.roles user
52
+ end
53
+ role.should be_instance_of FbGraph2::User
54
+ end
55
+
56
+ context 'when blank' do
57
+ it 'should return nil' do
58
+ role = mock_graph :get, 'page_id/roles/user_id', 'blank_collection', access_token: 'page_token' do
59
+ page.roles user
60
+ end
61
+ role.should be_nil
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
20
67
  end
@@ -0,0 +1,19 @@
1
+ {
2
+ "data": [{
3
+ "id": "10101078259835569",
4
+ "name": "Micah Wedemeyer",
5
+ "role": "Admin",
6
+ "perms": ["ADMINISTER", "EDIT_PROFILE", "CREATE_CONTENT", "MODERATE_CONTENT", "CREATE_ADS", "BASIC_ADMIN"]
7
+ }, {
8
+ "id": "579612276",
9
+ "name": "Nov Matake",
10
+ "role": "Admin",
11
+ "perms": ["ADMINISTER", "EDIT_PROFILE", "CREATE_CONTENT", "MODERATE_CONTENT", "CREATE_ADS", "BASIC_ADMIN"]
12
+ }],
13
+ "paging": {
14
+ "cursors": {
15
+ "before": "MTAxMDEwNzgyNTk4MzU1Njk=",
16
+ "after": "NTc5NjEyMjc2"
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "data": [{
3
+ "id": "579612276",
4
+ "name": "Nov Matake",
5
+ "role": "Admin",
6
+ "perms": ["ADMINISTER", "EDIT_PROFILE", "CREATE_CONTENT", "MODERATE_CONTENT", "CREATE_ADS", "BASIC_ADMIN"]
7
+ }],
8
+ "paging": {
9
+ "cursors": {
10
+ "before": "MTAxMDEwNzgyNTk4MzU1Njk=",
11
+ "after": "NTc5NjEyMjc2"
12
+ }
13
+ }
14
+ }
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.3.0
4
+ version: 0.3.1
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-10-31 00:00:00.000000000 Z
11
+ date: 2014-11-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httpclient
@@ -367,6 +367,8 @@ files:
367
367
  - spec/mock_json/page/milestones.json
368
368
  - spec/mock_json/page/offers.json
369
369
  - spec/mock_json/page/promotable_posts.json
370
+ - spec/mock_json/page/roles.json
371
+ - spec/mock_json/page/roles_single.json
370
372
  - spec/mock_json/page/settings.json
371
373
  - spec/mock_json/page/with_optional_fields.json
372
374
  - spec/mock_json/post/comments.json
@@ -413,7 +415,7 @@ files:
413
415
  - spec/mock_json/user/videos.json
414
416
  - spec/spec_helper.rb
415
417
  - spec/spec_helper/mock_graph.rb
416
- homepage: https://github.com/fb_graph2
418
+ homepage: https://github.com/nov/fb_graph2
417
419
  licenses:
418
420
  - MIT
419
421
  metadata: {}