fb_graph2 0.3.0 → 0.3.1
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.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/fb_graph2.gemspec +1 -1
- data/lib/fb_graph2/app.rb +1 -1
- data/lib/fb_graph2/edge/roles.rb +21 -4
- data/lib/fb_graph2/page.rb +1 -0
- data/spec/fb_graph2/edge/roles_spec.rb +47 -0
- data/spec/mock_json/page/roles.json +19 -0
- data/spec/mock_json/page/roles_single.json +14 -0
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cb23d11f93481b305d1edc1433580a7a62e2c344
|
4
|
+
data.tar.gz: 79b9f990bbb18327c530f5af0d9c6410614c3b69
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f49d9d739f9861eacec0297a3e6336d58d81d5f5eb072cb941556863e94d5de087f65cf5a1de7ef2fbf10d2f604af0f648ab667e0b665b5aa1c568412d0f291b
|
7
|
+
data.tar.gz: a6a2092207207a04d5761d3713376b088cc7a18d2583a67541b5efa054d35d248b30ab32a47c0b7a5c04f615a8706ffd4d22644de709bd52ec31720ed43df0f7
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
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
data/lib/fb_graph2/edge/roles.rb
CHANGED
@@ -1,10 +1,27 @@
|
|
1
1
|
module FbGraph2
|
2
2
|
class Edge
|
3
3
|
module Roles
|
4
|
-
|
5
|
-
roles =
|
6
|
-
|
7
|
-
|
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
|
data/lib/fb_graph2/page.rb
CHANGED
@@ -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.
|
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-
|
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: {}
|