fb_graph 2.4.12 → 2.4.13
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/Gemfile.lock +13 -13
- data/VERSION +1 -1
- data/lib/fb_graph/connections/milestones.rb +21 -0
- data/lib/fb_graph/milestone.rb +26 -0
- data/lib/fb_graph/node.rb +1 -1
- data/lib/fb_graph/page.rb +1 -0
- data/lib/fb_graph.rb +1 -0
- data/spec/fb_graph/connections/milestones_spec.rb +40 -0
- data/spec/mock_json/pages/milestones/created.json +1 -0
- data/spec/mock_json/pages/milestones/list.json +103 -0
- metadata +27 -19
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
fb_graph (2.4.
|
4
|
+
fb_graph (2.4.13)
|
5
5
|
httpclient (>= 2.2.0.2)
|
6
6
|
rack-oauth2 (>= 0.14.4)
|
7
7
|
tzinfo
|
@@ -25,7 +25,7 @@ GEM
|
|
25
25
|
activesupport (3.2.3)
|
26
26
|
i18n (~> 0.6)
|
27
27
|
multi_json (~> 1.0)
|
28
|
-
addressable (2.2.
|
28
|
+
addressable (2.2.8)
|
29
29
|
attr_required (0.0.5)
|
30
30
|
builder (3.0.0)
|
31
31
|
configatron (2.9.1)
|
@@ -38,11 +38,11 @@ GEM
|
|
38
38
|
erubis (2.7.0)
|
39
39
|
hashie (1.2.0)
|
40
40
|
hike (1.2.1)
|
41
|
-
httpclient (2.2.
|
41
|
+
httpclient (2.2.5)
|
42
42
|
i18n (0.6.0)
|
43
43
|
journey (1.0.3)
|
44
|
-
json (1.
|
45
|
-
multi_json (1.3.
|
44
|
+
json (1.7.1)
|
45
|
+
multi_json (1.3.4)
|
46
46
|
rack (1.4.1)
|
47
47
|
rack-cache (1.2)
|
48
48
|
rack (>= 0.4)
|
@@ -56,15 +56,15 @@ GEM
|
|
56
56
|
rack-test (0.6.1)
|
57
57
|
rack (>= 1.0)
|
58
58
|
rake (0.9.2.2)
|
59
|
-
rspec (2.
|
60
|
-
rspec-core (~> 2.
|
61
|
-
rspec-expectations (~> 2.
|
62
|
-
rspec-mocks (~> 2.
|
63
|
-
rspec-core (2.
|
64
|
-
rspec-expectations (2.
|
59
|
+
rspec (2.10.0)
|
60
|
+
rspec-core (~> 2.10.0)
|
61
|
+
rspec-expectations (~> 2.10.0)
|
62
|
+
rspec-mocks (~> 2.10.0)
|
63
|
+
rspec-core (2.10.0)
|
64
|
+
rspec-expectations (2.10.0)
|
65
65
|
diff-lcs (~> 1.1.3)
|
66
|
-
rspec-mocks (2.
|
67
|
-
sprockets (2.1.
|
66
|
+
rspec-mocks (2.10.1)
|
67
|
+
sprockets (2.1.3)
|
68
68
|
hike (~> 1.2)
|
69
69
|
rack (~> 1.0)
|
70
70
|
tilt (~> 1.1, != 1.3.0)
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.4.
|
1
|
+
2.4.13
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module FbGraph
|
2
|
+
module Connections
|
3
|
+
module Milestones
|
4
|
+
def milestones(options = {})
|
5
|
+
milestones = self.connection :milestones, options
|
6
|
+
milestones.map! do |milestone|
|
7
|
+
Milestone.new milestone[:id], milestone.merge(
|
8
|
+
:access_token => options[:access_token] || self.access_token
|
9
|
+
)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def milestone!(options = {})
|
14
|
+
milestone = post options.merge(:connection => :milestones)
|
15
|
+
Milestone.new milestone[:id], options.merge(milestone).merge(
|
16
|
+
:access_token => options[:access_token] || self.access_token
|
17
|
+
)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module FbGraph
|
2
|
+
class Milestone < Node
|
3
|
+
attr_accessor :from, :title, :description, :created_time, :updated_time, :start_time, :end_time
|
4
|
+
|
5
|
+
def initialize(identifier, attributes = {})
|
6
|
+
super
|
7
|
+
if (from = attributes[:from])
|
8
|
+
@from = Page.new from[:id], from
|
9
|
+
end
|
10
|
+
[:title, :description].each do |key|
|
11
|
+
self.send :"#{key}=", attributes[key]
|
12
|
+
end
|
13
|
+
[:created_time, :updated_time, :start_time, :end_time].each do |key|
|
14
|
+
if (value = attributes[key])
|
15
|
+
time = case value
|
16
|
+
when String
|
17
|
+
Time.parse(value)
|
18
|
+
else
|
19
|
+
value
|
20
|
+
end
|
21
|
+
self.send :"#{key}=", time
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/lib/fb_graph/node.rb
CHANGED
@@ -104,7 +104,7 @@ module FbGraph
|
|
104
104
|
_params_.each do |key, value|
|
105
105
|
next if value.blank?
|
106
106
|
_params_[key] = case value
|
107
|
-
when String, Symbol, Numeric, Rack::OAuth2::AccessToken::Legacy
|
107
|
+
when String, Symbol, Numeric, Date, Time, Rack::OAuth2::AccessToken::Legacy
|
108
108
|
value.to_s
|
109
109
|
when IO, Tempfile
|
110
110
|
value
|
data/lib/fb_graph/page.rb
CHANGED
data/lib/fb_graph.rb
CHANGED
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe FbGraph::Connections::Milestones do
|
4
|
+
let(:page) do
|
5
|
+
FbGraph::Page.new('page_id', :access_token => 'page_token')
|
6
|
+
end
|
7
|
+
|
8
|
+
describe '#milestones' do
|
9
|
+
it 'should return an Array of FbGraph::Milestone' do
|
10
|
+
mock_graph :get, 'page_id/milestones', 'pages/milestones/list', :access_token => 'page_token' do
|
11
|
+
milestones = page.milestones
|
12
|
+
milestones.should be_instance_of FbGraph::Connection
|
13
|
+
milestones.each do |milestone|
|
14
|
+
milestone.should be_instance_of FbGraph::Milestone
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
describe '#milestone!' do
|
21
|
+
it 'should return generated milestone' do
|
22
|
+
started_at = 3.years.ago
|
23
|
+
mock_graph :post, 'page_id/milestones', 'pages/milestones/created', :access_token => 'page_token', :params => {
|
24
|
+
:title => 'Reached 1M users!',
|
25
|
+
:description => 'Finally we got 1M-th user!',
|
26
|
+
:start_time => started_at.to_s
|
27
|
+
} do
|
28
|
+
milestone = page.milestone!(
|
29
|
+
:title => 'Reached 1M users!',
|
30
|
+
:description => 'Finally we got 1M-th user!',
|
31
|
+
:start_time => started_at
|
32
|
+
)
|
33
|
+
milestone.should be_instance_of FbGraph::Milestone
|
34
|
+
milestone.title.should == 'Reached 1M users!'
|
35
|
+
milestone.description.should == 'Finally we got 1M-th user!'
|
36
|
+
milestone.start_time.should == started_at
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
{"id":"407038469316551"}
|
@@ -0,0 +1,103 @@
|
|
1
|
+
{
|
2
|
+
"data": [{
|
3
|
+
"id": "407038469316551",
|
4
|
+
"from": {
|
5
|
+
"name": "FbGraph",
|
6
|
+
"category": "Software",
|
7
|
+
"id": "117513961602338"
|
8
|
+
},
|
9
|
+
"created_time": "2012-05-08T06:47:21+0000",
|
10
|
+
"updated_time": "2012-05-08T06:47:21+0000",
|
11
|
+
"start_time": "2012-05-05T06:47:21+0000",
|
12
|
+
"end_time": "2012-05-05T06:47:21+0000",
|
13
|
+
"title": "Sample Milestone",
|
14
|
+
"description": "TEST TEST TEST"
|
15
|
+
},
|
16
|
+
{
|
17
|
+
"id": "407038419316556",
|
18
|
+
"from": {
|
19
|
+
"name": "FbGraph",
|
20
|
+
"category": "Software",
|
21
|
+
"id": "117513961602338"
|
22
|
+
},
|
23
|
+
"created_time": "2012-05-08T06:47:11+0000",
|
24
|
+
"updated_time": "2012-05-08T06:47:11+0000",
|
25
|
+
"start_time": "2012-05-05T06:47:11+0000",
|
26
|
+
"end_time": "2012-05-05T06:47:11+0000",
|
27
|
+
"title": "Sample Milestone",
|
28
|
+
"description": "TEST TEST TEST"
|
29
|
+
},
|
30
|
+
{
|
31
|
+
"id": "407038015983263",
|
32
|
+
"from": {
|
33
|
+
"name": "FbGraph",
|
34
|
+
"category": "Software",
|
35
|
+
"id": "117513961602338"
|
36
|
+
},
|
37
|
+
"created_time": "2012-05-08T06:45:43+0000",
|
38
|
+
"updated_time": "2012-05-08T06:45:43+0000",
|
39
|
+
"start_time": "2012-05-05T06:45:42+0000",
|
40
|
+
"end_time": "2012-05-05T06:45:42+0000",
|
41
|
+
"title": "Sample Milestone",
|
42
|
+
"description": "TEST TEST TEST"
|
43
|
+
},
|
44
|
+
{
|
45
|
+
"id": "407037885983276",
|
46
|
+
"from": {
|
47
|
+
"name": "FbGraph",
|
48
|
+
"category": "Software",
|
49
|
+
"id": "117513961602338"
|
50
|
+
},
|
51
|
+
"created_time": "2012-05-08T06:45:13+0000",
|
52
|
+
"updated_time": "2012-05-08T06:45:13+0000",
|
53
|
+
"start_time": "2012-05-05T06:45:12+0000",
|
54
|
+
"end_time": "2012-05-05T06:45:12+0000",
|
55
|
+
"title": "Sample Milestone",
|
56
|
+
"description": "TEST TEST TEST"
|
57
|
+
},
|
58
|
+
{
|
59
|
+
"id": "407037572649974",
|
60
|
+
"from": {
|
61
|
+
"name": "FbGraph",
|
62
|
+
"category": "Software",
|
63
|
+
"id": "117513961602338"
|
64
|
+
},
|
65
|
+
"created_time": "2012-05-08T06:44:08+0000",
|
66
|
+
"updated_time": "2012-05-08T06:44:08+0000",
|
67
|
+
"start_time": "2012-05-05T06:44:08+0000",
|
68
|
+
"end_time": "2012-05-05T06:44:08+0000",
|
69
|
+
"title": "Sample Milestone",
|
70
|
+
"description": "TEST TEST TEST"
|
71
|
+
},
|
72
|
+
{
|
73
|
+
"id": "407037205983344",
|
74
|
+
"from": {
|
75
|
+
"name": "FbGraph",
|
76
|
+
"category": "Software",
|
77
|
+
"id": "117513961602338"
|
78
|
+
},
|
79
|
+
"created_time": "2012-05-08T06:42:27+0000",
|
80
|
+
"updated_time": "2012-05-08T06:42:27+0000",
|
81
|
+
"start_time": "2012-05-08T06:42:26+0000",
|
82
|
+
"end_time": "2012-05-08T06:42:26+0000",
|
83
|
+
"title": "Sample Milestone",
|
84
|
+
"description": "TEST TEST TEST"
|
85
|
+
},
|
86
|
+
{
|
87
|
+
"id": "407035495983515",
|
88
|
+
"from": {
|
89
|
+
"name": "FbGraph",
|
90
|
+
"category": "Software",
|
91
|
+
"id": "117513961602338"
|
92
|
+
},
|
93
|
+
"created_time": "2012-05-08T06:35:43+0000",
|
94
|
+
"updated_time": "2012-05-08T06:35:43+0000",
|
95
|
+
"start_time": "2012-05-08T06:35:42+0000",
|
96
|
+
"end_time": "2012-05-08T06:35:42+0000",
|
97
|
+
"title": "Sample Milestone",
|
98
|
+
"description": "TEST TEST TEST"
|
99
|
+
}],
|
100
|
+
"paging": {
|
101
|
+
"next": "https:\/\/graph.facebook.com\/117513961602338\/milestones?access_token=AAACEdEose0cBAECUjTgqsCSQZAR3xfnLBdtGUvbpQmCBtFsdAxjVoqxi4Ae7SXkYOsvPJj3uDRlSrZAngReDZB0TRdoS9I1A3X7XvBV6W1JY2wsZCVVk&limit=5000&offset=5000&__after_id=407035495983515"
|
102
|
+
}
|
103
|
+
}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fb_graph
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.4.
|
4
|
+
version: 2.4.13
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-05-
|
12
|
+
date: 2012-05-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: httpclient
|
16
|
-
requirement: &
|
16
|
+
requirement: &70142973656020 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 2.2.0.2
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70142973656020
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rack-oauth2
|
27
|
-
requirement: &
|
27
|
+
requirement: &70142973655500 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 0.14.4
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70142973655500
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: tzinfo
|
38
|
-
requirement: &
|
38
|
+
requirement: &70142973655120 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70142973655120
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rake
|
49
|
-
requirement: &
|
49
|
+
requirement: &70142973654500 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0.8'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70142973654500
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: cover_me
|
60
|
-
requirement: &
|
60
|
+
requirement: &70142973653660 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 1.2.0
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70142973653660
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rspec
|
71
|
-
requirement: &
|
71
|
+
requirement: &70142973653060 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '2'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70142973653060
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: webmock
|
82
|
-
requirement: &
|
82
|
+
requirement: &70142973652580 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: 1.6.2
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70142973652580
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: actionpack
|
93
|
-
requirement: &
|
93
|
+
requirement: &70142973652100 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,7 +98,7 @@ dependencies:
|
|
98
98
|
version: 3.0.6
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *70142973652100
|
102
102
|
description: A full-stack Facebook Graph API wrapper in Ruby.
|
103
103
|
email: nov@matake.jp
|
104
104
|
executables: []
|
@@ -187,6 +187,7 @@ files:
|
|
187
187
|
- lib/fb_graph/connections/maybe.rb
|
188
188
|
- lib/fb_graph/connections/members.rb
|
189
189
|
- lib/fb_graph/connections/messages.rb
|
190
|
+
- lib/fb_graph/connections/milestones.rb
|
190
191
|
- lib/fb_graph/connections/movies.rb
|
191
192
|
- lib/fb_graph/connections/music.rb
|
192
193
|
- lib/fb_graph/connections/mutual_friends.rb
|
@@ -237,6 +238,7 @@ files:
|
|
237
238
|
- lib/fb_graph/link.rb
|
238
239
|
- lib/fb_graph/location.rb
|
239
240
|
- lib/fb_graph/message.rb
|
241
|
+
- lib/fb_graph/milestone.rb
|
240
242
|
- lib/fb_graph/node.rb
|
241
243
|
- lib/fb_graph/note.rb
|
242
244
|
- lib/fb_graph/notification.rb
|
@@ -341,6 +343,7 @@ files:
|
|
341
343
|
- spec/fb_graph/connections/maybe_spec.rb
|
342
344
|
- spec/fb_graph/connections/members_spec.rb
|
343
345
|
- spec/fb_graph/connections/messages_spec.rb
|
346
|
+
- spec/fb_graph/connections/milestones_spec.rb
|
344
347
|
- spec/fb_graph/connections/movies_spec.rb
|
345
348
|
- spec/fb_graph/connections/music_spec.rb
|
346
349
|
- spec/fb_graph/connections/mutual_friends_spec.rb
|
@@ -495,6 +498,8 @@ files:
|
|
495
498
|
- spec/mock_json/pages/insights/FbGraph_public.json
|
496
499
|
- spec/mock_json/pages/insights/page_like_adds/FbGraph_private.json
|
497
500
|
- spec/mock_json/pages/insights/page_like_adds/day/FbGraph_private.json
|
501
|
+
- spec/mock_json/pages/milestones/created.json
|
502
|
+
- spec/mock_json/pages/milestones/list.json
|
498
503
|
- spec/mock_json/pages/notes/post_with_valid_access_token.json
|
499
504
|
- spec/mock_json/pages/platform_private.json
|
500
505
|
- spec/mock_json/pages/platform_public.json
|
@@ -641,7 +646,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
641
646
|
version: '0'
|
642
647
|
requirements: []
|
643
648
|
rubyforge_project:
|
644
|
-
rubygems_version: 1.8.
|
649
|
+
rubygems_version: 1.8.17
|
645
650
|
signing_key:
|
646
651
|
specification_version: 3
|
647
652
|
summary: A full-stack Facebook Graph API wrapper in Ruby.
|
@@ -706,6 +711,7 @@ test_files:
|
|
706
711
|
- spec/fb_graph/connections/maybe_spec.rb
|
707
712
|
- spec/fb_graph/connections/members_spec.rb
|
708
713
|
- spec/fb_graph/connections/messages_spec.rb
|
714
|
+
- spec/fb_graph/connections/milestones_spec.rb
|
709
715
|
- spec/fb_graph/connections/movies_spec.rb
|
710
716
|
- spec/fb_graph/connections/music_spec.rb
|
711
717
|
- spec/fb_graph/connections/mutual_friends_spec.rb
|
@@ -860,6 +866,8 @@ test_files:
|
|
860
866
|
- spec/mock_json/pages/insights/FbGraph_public.json
|
861
867
|
- spec/mock_json/pages/insights/page_like_adds/FbGraph_private.json
|
862
868
|
- spec/mock_json/pages/insights/page_like_adds/day/FbGraph_private.json
|
869
|
+
- spec/mock_json/pages/milestones/created.json
|
870
|
+
- spec/mock_json/pages/milestones/list.json
|
863
871
|
- spec/mock_json/pages/notes/post_with_valid_access_token.json
|
864
872
|
- spec/mock_json/pages/platform_private.json
|
865
873
|
- spec/mock_json/pages/platform_public.json
|