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 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