fb_graph 1.8.5 → 1.8.6

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.
@@ -1,21 +1,21 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- fb_graph (1.8.4)
4
+ fb_graph (1.8.6)
5
5
  httpclient (>= 2.2.0.2)
6
6
  rack-oauth2 (>= 0.8.0)
7
7
 
8
8
  GEM
9
9
  remote: http://rubygems.org/
10
10
  specs:
11
- activesupport (3.0.8)
11
+ activesupport (3.0.9)
12
12
  addressable (2.2.6)
13
13
  attr_required (0.0.3)
14
14
  crack (0.1.8)
15
15
  diff-lcs (1.1.2)
16
16
  httpclient (2.2.1)
17
17
  i18n (0.6.0)
18
- json (1.5.1)
18
+ json (1.5.2)
19
19
  rack (1.3.0)
20
20
  rack-oauth2 (0.8.1)
21
21
  activesupport (>= 2.3)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.8.5
1
+ 1.8.6
@@ -33,5 +33,11 @@ module FbGraph
33
33
  self.access_token = auth.client.access_token!
34
34
  end
35
35
 
36
+ def access_token_with_auto_fetch
37
+ access_token_without_auto_fetch ||
38
+ self.secret && get_access_token
39
+ end
40
+ alias_method_chain :access_token, :auto_fetch
41
+
36
42
  end
37
43
  end
@@ -3,7 +3,6 @@ module FbGraph
3
3
  module Insights
4
4
  def insights(options = {})
5
5
  options[:access_token] ||= self.access_token
6
- options[:access_token] ||= get_access_token(options[:secret]) if respond_to?(:get_access_token)
7
6
  insights = self.connection(:insights, options.merge(:connection_scope => connection_scope(options)))
8
7
  insights.map! do |insight|
9
8
  Insight.new(insight[:id], insight.merge(:access_token => options[:access_token]))
@@ -3,7 +3,6 @@ module FbGraph
3
3
  module Payments
4
4
  def payments(options = {})
5
5
  options[:access_token] ||= self.access_token
6
- options[:access_token] ||= get_access_token(options[:secret]) if respond_to?(:get_access_token)
7
6
  orders = self.connection(:payments, options)
8
7
  orders.map! do |order|
9
8
  orders[:access_token] ||= options[:access_token] || self.access_token
@@ -7,7 +7,7 @@ module FbGraph
7
7
  # app.subscriptions
8
8
  # => Array of FbGraph::Subscriptions
9
9
  def subscriptions(options = {})
10
- options[:access_token] ||= self.access_token || get_access_token(options[:secret])
10
+ options[:access_token] ||= self.access_token
11
11
  subscriptions = self.connection(:subscriptions, options)
12
12
  subscriptions.map! do |subscription|
13
13
  Subscription.new(subscription.merge(:access_token => options[:access_token]))
@@ -29,7 +29,7 @@ module FbGraph
29
29
  # )
30
30
  # => Array of FbGraph::Subscriptions
31
31
  def subscribe!(options = {})
32
- options[:access_token] ||= self.access_token || get_access_token(options[:secret])
32
+ options[:access_token] ||= self.access_token
33
33
  post(options.merge(:connection => :subscriptions))
34
34
  end
35
35
 
@@ -45,7 +45,7 @@ module FbGraph
45
45
  # )
46
46
  # => Array of FbGraph::Subscriptions
47
47
  def unsubscribe!(options = {})
48
- options[:access_token] ||= self.access_token || get_access_token(options[:secret])
48
+ options[:access_token] ||= self.access_token
49
49
  destroy(options.merge(:connection => :subscriptions))
50
50
  end
51
51
  end
@@ -2,7 +2,7 @@ module FbGraph
2
2
  module Connections
3
3
  module TestUsers
4
4
  def test_users(options = {})
5
- options[:access_token] ||= self.access_token || get_access_token(options[:secret])
5
+ options[:access_token] ||= self.access_token
6
6
  test_users = self.connection(:accounts, options.merge(:connection_scope => 'test-users'))
7
7
  test_users.map! do |test_user|
8
8
  TestUser.new(test_user[:id], test_user)
@@ -10,7 +10,7 @@ module FbGraph
10
10
  end
11
11
 
12
12
  def test_user!(options = {})
13
- options[:access_token] ||= self.access_token || get_access_token(options[:secret])
13
+ options[:access_token] ||= self.access_token
14
14
  test_user = post(options.merge(:connection => :accounts, :connection_scope => 'test-users'))
15
15
  TestUser.new(test_user[:id], test_user)
16
16
  end
@@ -9,6 +9,13 @@ module FbGraph
9
9
  ))
10
10
  end
11
11
  end
12
+
13
+ def video!(options = {})
14
+ video = post(options.merge(:connection => :videos))
15
+ Video.new(video[:id], options.merge(video).merge(
16
+ :access_token => options[:access_token] || self.access_token
17
+ ))
18
+ end
12
19
  end
13
20
  end
14
21
  end
@@ -3,6 +3,7 @@ module FbGraph
3
3
  include Connections::Feed
4
4
  include Connections::Members
5
5
  include Connections::Picture
6
+ include Connections::Videos
6
7
  extend Searchable
7
8
 
8
9
  attr_accessor :owner, :name, :description, :link, :icon, :venue, :privacy, :version, :updated_time
@@ -1,33 +1,64 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe FbGraph::Application, '.new' do
4
- it 'should setup all supported attributes' do
5
- attributes = {
6
- :id => '12345',
7
- :name => 'FbGraph',
8
- :description => 'Owsome Facebook Graph Wrapper',
9
- :category => 'Programming',
10
- :link => 'http://github.com/nov/fb_graph',
11
- :secret => 'sec sec'
12
- }
13
- app = FbGraph::Application.new(attributes.delete(:id), attributes)
14
- app.identifier.should == '12345'
15
- app.name.should == 'FbGraph'
16
- app.description.should == 'Owsome Facebook Graph Wrapper'
17
- app.category.should == 'Programming'
18
- app.link.should == 'http://github.com/nov/fb_graph'
19
- app.secret.should == 'sec sec'
3
+ describe FbGraph::Application do
4
+ let(:app) { FbGraph::Application.new('client_id') }
5
+
6
+ describe '.new' do
7
+ it 'should setup all supported attributes' do
8
+ attributes = {
9
+ :id => '12345',
10
+ :name => 'FbGraph',
11
+ :description => 'Owsome Facebook Graph Wrapper',
12
+ :category => 'Programming',
13
+ :link => 'http://github.com/nov/fb_graph',
14
+ :secret => 'sec sec'
15
+ }
16
+ app = FbGraph::Application.new(attributes.delete(:id), attributes)
17
+ app.identifier.should == '12345'
18
+ app.name.should == 'FbGraph'
19
+ app.description.should == 'Owsome Facebook Graph Wrapper'
20
+ app.category.should == 'Programming'
21
+ app.link.should == 'http://github.com/nov/fb_graph'
22
+ app.secret.should == 'sec sec'
23
+ end
20
24
  end
21
- end
22
25
 
23
- describe FbGraph::Application, '.get_access_token' do
24
- let(:app) { FbGraph::Application.new('client_id', :secret => 'client_secret') }
25
- it 'should return Rack::OAuth2::AccessToken::Legacy' do
26
- mock_graph :post, 'oauth/access_token', 'token_response' do
27
- app.access_token.should be_nil
28
- app.get_access_token
29
- app.access_token.should be_instance_of(Rack::OAuth2::AccessToken::Legacy)
30
- app.access_token.access_token.should == 'token'
26
+ describe '#get_access_token' do
27
+ before { app.secret = 'secret' }
28
+
29
+ it 'should return Rack::OAuth2::AccessToken::Legacy' do
30
+ mock_graph :post, 'oauth/access_token', 'token_response' do
31
+ token = app.get_access_token
32
+ token.should be_instance_of(Rack::OAuth2::AccessToken::Legacy)
33
+ token.access_token.should == 'token'
34
+ end
35
+ end
36
+ end
37
+
38
+ describe '#access_token' do
39
+ context 'when access token already exists' do
40
+ before { app.access_token = "token" }
41
+ it 'should not fetch new token' do
42
+ app.should_not_receive(:get_access_token)
43
+ app.access_token
44
+ end
45
+ end
46
+
47
+ context 'otherwise' do
48
+ context 'when secret exists' do
49
+ before { app.secret = 'secret' }
50
+ it 'should fetch new token' do
51
+ app.should_receive(:get_access_token)
52
+ app.access_token
53
+ end
54
+ end
55
+
56
+ context 'otherwise' do
57
+ it 'should not fetch new token' do
58
+ app.should_not_receive(:get_access_token)
59
+ app.access_token
60
+ end
61
+ end
31
62
  end
32
63
  end
33
64
  end
@@ -1,11 +1,26 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe FbGraph::Connections::Videos, '#videos' do
4
- it 'should return videos as FbGraph::Video' do
5
- mock_graph :get, 'kirk/videos', 'users/videos/kirk_private', :access_token => 'access_token' do
6
- videos = FbGraph::User.new('kirk', :access_token => 'access_token').videos
7
- videos.each do |video|
8
- video.should be_instance_of(FbGraph::Video)
3
+ describe FbGraph::Connections::Videos do
4
+ describe '#videos' do
5
+ it 'should return videos as FbGraph::Video' do
6
+ mock_graph :get, 'kirk/videos', 'users/videos/kirk_private', :access_token => 'access_token' do
7
+ videos = FbGraph::User.new('kirk', :access_token => 'access_token').videos
8
+ videos.each do |video|
9
+ video.should be_instance_of(FbGraph::Video)
10
+ end
11
+ end
12
+ end
13
+ end
14
+
15
+ describe '#video!' do
16
+ it 'should return generated photo' do
17
+ mock_graph :post, 'me/videos', 'users/videos/posted' do
18
+ me = FbGraph::User.me('access_token')
19
+ video = me.video!(
20
+ :source => Tempfile.new('movie_file')
21
+ )
22
+ video.should be_a FbGraph::Video
23
+ video.identifier.should == '10150241488822277'
9
24
  end
10
25
  end
11
26
  end
@@ -0,0 +1 @@
1
+ {"id":"10150241488822277"}
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: fb_graph
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 1.8.5
5
+ version: 1.8.6
6
6
  platform: ruby
7
7
  authors:
8
8
  - nov matake
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-06-14 00:00:00 Z
13
+ date: 2011-06-18 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: httpclient
@@ -403,6 +403,7 @@ files:
403
403
  - spec/mock_json/users/tagged/arjun_public.json
404
404
  - spec/mock_json/users/television/matake_private.json
405
405
  - spec/mock_json/users/videos/kirk_private.json
406
+ - spec/mock_json/users/videos/posted.json
406
407
  - spec/spec_helper.rb
407
408
  homepage: http://github.com/nov/fb_graph
408
409
  licenses: []
@@ -642,4 +643,5 @@ test_files:
642
643
  - spec/mock_json/users/tagged/arjun_public.json
643
644
  - spec/mock_json/users/television/matake_private.json
644
645
  - spec/mock_json/users/videos/kirk_private.json
646
+ - spec/mock_json/users/videos/posted.json
645
647
  - spec/spec_helper.rb