fb_graph 2.4.12 → 2.4.13

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- fb_graph (2.4.11)
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.7)
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.4)
41
+ httpclient (2.2.5)
42
42
  i18n (0.6.0)
43
43
  journey (1.0.3)
44
- json (1.6.6)
45
- multi_json (1.3.2)
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.9.0)
60
- rspec-core (~> 2.9.0)
61
- rspec-expectations (~> 2.9.0)
62
- rspec-mocks (~> 2.9.0)
63
- rspec-core (2.9.0)
64
- rspec-expectations (2.9.1)
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.9.0)
67
- sprockets (2.1.2)
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.12
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
@@ -10,6 +10,7 @@ module FbGraph
10
10
  include Connections::Insights
11
11
  include Connections::Likes
12
12
  include Connections::Links
13
+ include Connections::Milestones
13
14
  include Connections::Notes
14
15
  include Connections::Photos
15
16
  include Connections::Picture
data/lib/fb_graph.rb CHANGED
@@ -106,6 +106,7 @@ require 'fb_graph/image'
106
106
  require 'fb_graph/insight'
107
107
  require 'fb_graph/link'
108
108
  require 'fb_graph/message'
109
+ require 'fb_graph/milestone'
109
110
  require 'fb_graph/note'
110
111
  require 'fb_graph/notification'
111
112
  require 'fb_graph/order'
@@ -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.12
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-05 00:00:00.000000000Z
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: &70308890886500 !ruby/object:Gem::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: *70308890886500
24
+ version_requirements: *70142973656020
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rack-oauth2
27
- requirement: &70308890885560 !ruby/object:Gem::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: *70308890885560
35
+ version_requirements: *70142973655500
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: tzinfo
38
- requirement: &70308890885020 !ruby/object:Gem::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: *70308890885020
46
+ version_requirements: *70142973655120
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rake
49
- requirement: &70308890884480 !ruby/object:Gem::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: *70308890884480
57
+ version_requirements: *70142973654500
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: cover_me
60
- requirement: &70308890883820 !ruby/object:Gem::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: *70308890883820
68
+ version_requirements: *70142973653660
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
- requirement: &70308890883160 !ruby/object:Gem::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: *70308890883160
79
+ version_requirements: *70142973653060
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: webmock
82
- requirement: &70308890882480 !ruby/object:Gem::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: *70308890882480
90
+ version_requirements: *70142973652580
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: actionpack
93
- requirement: &70308890881760 !ruby/object:Gem::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: *70308890881760
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.12
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