fb_graph 1.1.1 → 1.1.2
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.
- data/README.rdoc +1 -0
- data/VERSION +1 -1
- data/fb_graph.gemspec +4 -2
- data/lib/fb_graph/connections/insights.rb +11 -1
- data/lib/fb_graph/node.rb +1 -1
- data/spec/fake_json/pages/insights/page_like_adds/FbGraph_private.json +28 -0
- data/spec/fake_json/pages/insights/page_like_adds/day/FbGraph_private.json +28 -0
- data/spec/fb_graph/connections/insights_spec.rb +57 -0
- metadata +6 -4
data/README.rdoc
CHANGED
@@ -11,6 +11,7 @@ A full-stack Facebook Graph API wrapper in Ruby.
|
|
11
11
|
* View RDoc on RDoc.info (http://rdoc.info/github/nov/fb_graph)
|
12
12
|
* View Source on GitHub (http://github.com/nov/fb_graph)
|
13
13
|
* Report Issues on GitHub (http://github.com/nov/fb_graph/issues)
|
14
|
+
* Q&A on Google Groups (https://groups.google.com/group/fb_graph)
|
14
15
|
* Facebook fan page (http://www.facebook.com/pages/FbGraph/117513961602338)
|
15
16
|
|
16
17
|
== Examples
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.1.
|
1
|
+
1.1.2
|
data/fb_graph.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{fb_graph}
|
8
|
-
s.version = "1.1.
|
8
|
+
s.version = "1.1.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["nov matake"]
|
12
|
-
s.date = %q{2010-12-
|
12
|
+
s.date = %q{2010-12-13}
|
13
13
|
s.description = %q{A full-stack Facebook Graph API wrapper in Ruby.}
|
14
14
|
s.email = %q{nov@matake.jp}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -106,6 +106,8 @@ Gem::Specification.new do |s|
|
|
106
106
|
"spec/fake_json/pages/checkins/gowalla_public.json",
|
107
107
|
"spec/fake_json/pages/insights/FbGraph_private.json",
|
108
108
|
"spec/fake_json/pages/insights/FbGraph_public.json",
|
109
|
+
"spec/fake_json/pages/insights/page_like_adds/FbGraph_private.json",
|
110
|
+
"spec/fake_json/pages/insights/page_like_adds/day/FbGraph_private.json",
|
109
111
|
"spec/fake_json/pages/notes/post_with_valid_access_token.json",
|
110
112
|
"spec/fake_json/pages/platform_private.json",
|
111
113
|
"spec/fake_json/pages/platform_public.json",
|
@@ -4,11 +4,21 @@ module FbGraph
|
|
4
4
|
def insights(options = {})
|
5
5
|
options[:access_token] ||= self.access_token
|
6
6
|
options[:access_token] ||= get_access_token(options[:secret]) if respond_to?(:get_access_token)
|
7
|
-
insights = self.connection(:insights, options)
|
7
|
+
insights = self.connection(:insights, options.merge(:connection_scope => connection_scope(options)))
|
8
8
|
insights.map! do |insight|
|
9
9
|
Insight.new(insight.delete(:id), insight.merge(:access_token => options[:access_token]))
|
10
10
|
end
|
11
11
|
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def connection_scope(options)
|
16
|
+
if metrics = options.delete(:metrics)
|
17
|
+
File.join([metrics, options.delete(:period)].compact)
|
18
|
+
else
|
19
|
+
nil
|
20
|
+
end
|
21
|
+
end
|
12
22
|
end
|
13
23
|
end
|
14
24
|
end
|
data/lib/fb_graph/node.rb
CHANGED
@@ -63,7 +63,7 @@ module FbGraph
|
|
63
63
|
|
64
64
|
def build_endpoint(params = {})
|
65
65
|
_endpoint_ = if params[:connection]
|
66
|
-
File.join(self.endpoint, params.delete(:connection).to_s)
|
66
|
+
File.join([self.endpoint, params.delete(:connection).to_s, params.delete(:connection_scope)].compact)
|
67
67
|
else
|
68
68
|
self.endpoint.dup
|
69
69
|
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
{
|
2
|
+
"data": [
|
3
|
+
{
|
4
|
+
"id": "117513961602338/insights/page_like_adds/day",
|
5
|
+
"name": "page_like_adds",
|
6
|
+
"period": "day",
|
7
|
+
"values": [
|
8
|
+
{
|
9
|
+
"value": 0,
|
10
|
+
"end_time": "2010-12-09T08:00:00+0000"
|
11
|
+
},
|
12
|
+
{
|
13
|
+
"value": 0,
|
14
|
+
"end_time": "2010-12-10T08:00:00+0000"
|
15
|
+
},
|
16
|
+
{
|
17
|
+
"value": 0,
|
18
|
+
"end_time": "2010-12-11T08:00:00+0000"
|
19
|
+
}
|
20
|
+
],
|
21
|
+
"description": "Daily Likes of your Page's content (Total Count)"
|
22
|
+
}
|
23
|
+
],
|
24
|
+
"paging": {
|
25
|
+
"previous": "https://graph.facebook.com/fbgraph/insights/page_like_adds?access_token=134145643294322%7C9b95ab3141be69aff9766c90-579612276%7C9UA_-V98QdZDfoX4MSS-DdwTFFk&since=1291547309&until=1291806509",
|
26
|
+
"next": "https://graph.facebook.com/fbgraph/insights/page_like_adds?access_token=134145643294322%7C9b95ab3141be69aff9766c90-579612276%7C9UA_-V98QdZDfoX4MSS-DdwTFFk&since=1292065709&until=1292324909"
|
27
|
+
}
|
28
|
+
}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
{
|
2
|
+
"data": [
|
3
|
+
{
|
4
|
+
"id": "117513961602338/insights/page_like_adds/day",
|
5
|
+
"name": "page_like_adds",
|
6
|
+
"period": "day",
|
7
|
+
"values": [
|
8
|
+
{
|
9
|
+
"value": 1,
|
10
|
+
"end_time": "2010-12-09T08:00:00+0000"
|
11
|
+
},
|
12
|
+
{
|
13
|
+
"value": 1,
|
14
|
+
"end_time": "2010-12-10T08:00:00+0000"
|
15
|
+
},
|
16
|
+
{
|
17
|
+
"value": 1,
|
18
|
+
"end_time": "2010-12-11T08:00:00+0000"
|
19
|
+
}
|
20
|
+
],
|
21
|
+
"description": "Daily Likes of your Page's content (Total Count)"
|
22
|
+
}
|
23
|
+
],
|
24
|
+
"paging": {
|
25
|
+
"previous": "https://graph.facebook.com/fbgraph/insights/page_like_adds?access_token=134145643294322%7C9b95ab3141be69aff9766c90-579612276%7C9UA_-V98QdZDfoX4MSS-DdwTFFk&since=1291547309&until=1291806509",
|
26
|
+
"next": "https://graph.facebook.com/fbgraph/insights/page_like_adds?access_token=134145643294322%7C9b95ab3141be69aff9766c90-579612276%7C9UA_-V98QdZDfoX4MSS-DdwTFFk&since=1292065709&until=1292324909"
|
27
|
+
}
|
28
|
+
}
|
@@ -36,6 +36,63 @@ describe FbGraph::Connections::Insights, '#insights' do
|
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
39
|
+
|
40
|
+
context 'when metrics is given' do
|
41
|
+
before(:all) do
|
42
|
+
fake_json(:get, 'FbGraph/insights/page_like_adds?access_token=access_token', 'pages/insights/page_like_adds/FbGraph_private')
|
43
|
+
fake_json(:get, 'FbGraph/insights/page_like_adds/day?access_token=access_token', 'pages/insights/page_like_adds/day/FbGraph_private')
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'should treat metrics as connection scope' do
|
47
|
+
insights = FbGraph::Page.new('FbGraph').insights(:access_token => 'access_token', :metrics => 'page_like_adds')
|
48
|
+
insights.options.should == {
|
49
|
+
:connection_scope => 'page_like_adds',
|
50
|
+
:access_token => 'access_token'
|
51
|
+
}
|
52
|
+
insights.first.should == FbGraph::Insight.new(
|
53
|
+
'117513961602338/insights/page_like_adds/day',
|
54
|
+
:access_token => 'access_token',
|
55
|
+
:name => 'page_like_adds',
|
56
|
+
:description => 'Daily Likes of your Page\'s content (Total Count)',
|
57
|
+
:period => 'day',
|
58
|
+
:values => [{
|
59
|
+
:value => 0,
|
60
|
+
:end_time => '2010-12-09T08:00:00+0000'
|
61
|
+
}, {
|
62
|
+
:value => 0,
|
63
|
+
:end_time => '2010-12-10T08:00:00+0000'
|
64
|
+
}, {
|
65
|
+
:value => 0,
|
66
|
+
:end_time => '2010-12-11T08:00:00+0000'
|
67
|
+
}]
|
68
|
+
)
|
69
|
+
end
|
70
|
+
|
71
|
+
it 'should support period also' do
|
72
|
+
insights = FbGraph::Page.new('FbGraph').insights(:access_token => 'access_token', :metrics => 'page_like_adds', :period => 'day')
|
73
|
+
insights.options.should == {
|
74
|
+
:connection_scope => 'page_like_adds/day',
|
75
|
+
:access_token => 'access_token'
|
76
|
+
}
|
77
|
+
insights.first.should == FbGraph::Insight.new(
|
78
|
+
'117513961602338/insights/page_like_adds/day',
|
79
|
+
:access_token => 'access_token',
|
80
|
+
:name => 'page_like_adds',
|
81
|
+
:description => 'Daily Likes of your Page\'s content (Total Count)',
|
82
|
+
:period => 'day',
|
83
|
+
:values => [{
|
84
|
+
:value => 1,
|
85
|
+
:end_time => '2010-12-09T08:00:00+0000'
|
86
|
+
}, {
|
87
|
+
:value => 1,
|
88
|
+
:end_time => '2010-12-10T08:00:00+0000'
|
89
|
+
}, {
|
90
|
+
:value => 1,
|
91
|
+
:end_time => '2010-12-11T08:00:00+0000'
|
92
|
+
}]
|
93
|
+
)
|
94
|
+
end
|
95
|
+
end
|
39
96
|
end
|
40
97
|
|
41
98
|
end
|
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:
|
4
|
+
hash: 23
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 1.1.
|
9
|
+
- 2
|
10
|
+
version: 1.1.2
|
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-
|
18
|
+
date: 2010-12-13 00:00:00 +09:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -221,6 +221,8 @@ files:
|
|
221
221
|
- spec/fake_json/pages/checkins/gowalla_public.json
|
222
222
|
- spec/fake_json/pages/insights/FbGraph_private.json
|
223
223
|
- spec/fake_json/pages/insights/FbGraph_public.json
|
224
|
+
- spec/fake_json/pages/insights/page_like_adds/FbGraph_private.json
|
225
|
+
- spec/fake_json/pages/insights/page_like_adds/day/FbGraph_private.json
|
224
226
|
- spec/fake_json/pages/notes/post_with_valid_access_token.json
|
225
227
|
- spec/fake_json/pages/platform_private.json
|
226
228
|
- spec/fake_json/pages/platform_public.json
|