graph-api 0.9.9 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- graph-api (0.9.8)
4
+ graph-api (0.9.9)
5
5
  json
6
6
  rake
7
7
  rest-client
@@ -40,6 +40,13 @@ class GraphAPI
40
40
  # @callback_url = nil
41
41
  attr_accessor :callback_url
42
42
 
43
+ # Public: Non-reqired setting used for Facebook call back URL when logging out of a Facebook application.
44
+ #
45
+ # Example
46
+ #
47
+ # @logout_url = nil
48
+ attr_accessor :logout_url
49
+
43
50
  # Public: Required setting used for setting Facebook application requirements.
44
51
  #
45
52
  # Example
@@ -141,6 +148,12 @@ class GraphAPI
141
148
  self.picture['data']['url']
142
149
  end
143
150
 
151
+ # Public: Returns a URL designed to log a user out of Facebook and redirect
152
+ # them back to your Facebook application.
153
+ def logout_url
154
+ "https://www.facebook.com/logout.php?next=#{self.class.logout_url}&access_token=#@access_token"
155
+ end
156
+
144
157
  # Public: Meta methods for each of the user fields declared.
145
158
  #
146
159
  # Example:
@@ -1,3 +1,3 @@
1
1
  class GraphAPI
2
- VERSION = '0.9.9'
2
+ VERSION = '1.0.0'
3
3
  end
data/readme.md CHANGED
@@ -18,6 +18,7 @@ You will have to configure the gem before using it. Here is an example setup.
18
18
  app_secret '124ca2a483f12723cafa7a5da33a3492' # The Facebook Application Secret
19
19
  client_id '234513432316919' # The Facebook Application Id
20
20
  callback_url 'http://example.com/facebook_callback/' # URI for receiving the Facebook code param
21
+ logout_url 'http://example.com/logout/' # URI to redirect to when logging out
21
22
  access_scope [:offline_access, :email, :user_photos] # The Facebook application requirements
22
23
  user_fields [:id, :picture, :name, :gender, :email] # The user fields pulled for
23
24
  end
@@ -11,12 +11,14 @@ describe GraphAPI do
11
11
  app_secret 'APP_SECRET'
12
12
  client_id 'CLIENT_ID'
13
13
  callback_url 'CALLBACK_URL'
14
+ logout_url 'LOGOUT_URL'
14
15
  access_scope 'ACCESS_SCOPE'
15
16
  user_fields 'USER_FIELDS'
16
17
  end
17
18
  GraphAPI.app_secret.should == 'APP_SECRET'
18
19
  GraphAPI.client_id.should == 'CLIENT_ID'
19
20
  GraphAPI.callback_url.should == 'CALLBACK_URL'
21
+ GraphAPI.logout_url.should == 'LOGOUT_URL'
20
22
  GraphAPI.access_scope.should == 'ACCESS_SCOPE'
21
23
  GraphAPI.user_fields.should == 'USER_FIELDS'
22
24
  end
@@ -73,12 +75,13 @@ describe GraphAPI do
73
75
  end
74
76
 
75
77
  context 'Instance' do
78
+ let(:fg_user) { GraphAPI.new('ACCESS_TOKEN') }
79
+
76
80
  describe '#photo' do
77
81
  it 'should return a photo URI' do
78
82
  albums_data = {'data' => [{'type' => 'profile', 'cover_photo' => 'PHOTO_ID'}]}
79
83
  GraphAPI.should_receive(:request).with('/me/albums?fields=id,cover_photo,type', 'ACCESS_TOKEN').and_return(albums_data)
80
84
  GraphAPI.should_receive(:request).with('/PHOTO_ID/?fields=source', 'ACCESS_TOKEN').and_return({'source' => 'PHOTO_URI'})
81
- fg_user = GraphAPI.new('ACCESS_TOKEN')
82
85
  fg_user.photo.should == 'PHOTO_URI'
83
86
  end
84
87
  end
@@ -87,9 +90,14 @@ describe GraphAPI do
87
90
  it 'should return a photo URI' do
88
91
  GraphAPI.user_fields = []
89
92
  GraphAPI.should_receive(:request).with('/me?fields=picture', 'ACCESS_TOKEN').and_return({'picture' => {'data' => {'url' => 'PHOTO_URI'}}})
90
- fg_user = GraphAPI.new('ACCESS_TOKEN')
91
93
  fg_user.thumbnail.should == 'PHOTO_URI'
92
94
  end
93
95
  end
96
+
97
+ describe '#logout_url' do
98
+ it 'should return the correct logout URL' do
99
+ fg_user.logout_url.should == 'https://www.facebook.com/logout.php?next=LOGOUT_URL&access_token=ACCESS_TOKEN'
100
+ end
101
+ end
94
102
  end
95
103
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: graph-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.9
4
+ version: 1.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: