fbgraph 1.7.1 → 1.8.0

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.
@@ -6,8 +6,9 @@ module FBGraph
6
6
 
7
7
  def initialize(options = {})
8
8
  @client_id, @secret_id = options[:client_id] || FBGraph.config[:client_id], options[:secret_id] || FBGraph.config[:secret_id]
9
- @facebook_uri = options[:facebook_uri] ||= 'https://graph.facebook.com'
10
- @consumer = RestClient::Resource.new(@facebook_uri)
9
+ @ca_file = options[:ca_file] || FBGraph.config[:ca_file] || default_ca_file
10
+ @facebook_uri = options[:facebook_uri] || 'https://graph.facebook.com'
11
+ @consumer = RestClient::Resource.new(@facebook_uri, rest_client_ssl_options)
11
12
  @access_token = options.fetch :token, nil
12
13
  @auth = OAuth2::AccessToken.new(oauth_client , @access_token)
13
14
  return true
@@ -36,8 +37,19 @@ module FBGraph
36
37
  end
37
38
 
38
39
  def oauth_client
39
- OAuth2::Client.new(client_id, secret_id, :site => facebook_uri)
40
+ OAuth2::Client.new(client_id, secret_id, :site => { :url => facebook_uri }, :ssl => oauth_client_ssl_options, :adapter => :typhoeus)
40
41
  end
41
-
42
- end
42
+
43
+ def oauth_client_ssl_options
44
+ { :ca_file => @ca_file, :verify => OpenSSL::SSL::VERIFY_PEER }
45
+ end
46
+
47
+ def rest_client_ssl_options
48
+ { :ssl_ca_file => @ca_file, :verify_ssl => OpenSSL::SSL::VERIFY_PEER }
49
+ end
50
+
51
+ def default_ca_file
52
+ File.join(File.dirname(__FILE__), 'cacert.pem')
53
+ end
54
+ end
43
55
  end
data/lib/fbgraph.rb CHANGED
@@ -19,23 +19,28 @@ require 'fbgraph/realtime'
19
19
  require 'fbgraph/canvas'
20
20
 
21
21
  module FBGraph
22
- @config = {}
22
+ @config = nil
23
23
 
24
24
  class << self
25
+ def config
26
+ @config ||= load_config(config_path).freeze
27
+ end
28
+
29
+ def config_path
30
+ if defined?(Rails)
31
+ File.join(Rails.root , 'config' , 'facebook.yml')
32
+ else
33
+ 'facebook.yml'
34
+ end
35
+ end
25
36
 
26
37
  def load_config(yaml_file)
27
- return false unless File.exist?(yaml_file)
38
+ return {} unless File.exist?(yaml_file)
28
39
  cfg = YAML::load(File.open(yaml_file))
29
40
  if defined? Rails
30
41
  cfg = cfg[Rails.env]
31
42
  end
32
43
  cfg
33
44
  end
34
-
35
- def config
36
- return @config if @config.any?
37
- load_config(File.join(Rails.root , 'config' , 'facebook.yml')).freeze
38
- end
39
-
40
45
  end
41
46
  end
@@ -94,7 +94,7 @@ describe FBGraph do
94
94
 
95
95
  describe 'when params are passed' do
96
96
  it 'should request with the path "/123?fields=name,picture"' do
97
- uri = "123?fields=name,picture&access_token=token"
97
+ uri = "123?access_token=token&fields=name,picture"
98
98
  @base.find('123')
99
99
  @base.params = {:fields => "name,picture"}
100
100
  expect_consumer(uri)
@@ -16,7 +16,7 @@ describe FBGraph do
16
16
  describe "when asking for an object's picture" do
17
17
  it "should append the access token" do
18
18
  @selection.me.picture.should ==
19
- "https://graph.facebook.com/me/picture?access_token=#{@token}"
19
+ "https://graph.facebook.com/me/picture?type=square&access_token=#{@token}"
20
20
  end
21
21
 
22
22
  it "should not append an access token if none is available" do
@@ -25,7 +25,7 @@ describe FBGraph do
25
25
  selection = FBGraph::Selection.new(client)
26
26
 
27
27
  selection.me.picture.should ==
28
- "https://graph.facebook.com/me/picture"
28
+ "https://graph.facebook.com/me/picture?type=square"
29
29
  end
30
30
  end
31
31
  end
data/specs/spec_helper.rb CHANGED
@@ -6,11 +6,11 @@ require 'redgreen'
6
6
  def expect_consumer(uri, result = '')
7
7
  consumer = @client.consumer[uri]
8
8
  consumer.stub!(:get).and_return(Struct.new(:body).new(result))
9
- @client.consumer.stub!(:[]).with(uri).and_return(consumer)
9
+ @client.consumer.stub!(:[]).with(uri).and_return(consumer)
10
10
  end
11
11
 
12
12
  def expect_consumer_post(uri, params = {}, result = '')
13
13
  rest_client = @client.consumer[uri]
14
14
  rest_client.stub!(:post).with(params).and_return(Struct.new(:body).new(result))
15
- @client.consumer.stub!(:[]).with(uri).and_return(rest_client)
15
+ @client.consumer.stub!(:[]).with(uri).and_return(rest_client)
16
16
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fbgraph
3
3
  version: !ruby/object:Gem::Version
4
- hash: 9
4
+ hash: 55
5
5
  prerelease: false
6
6
  segments:
7
7
  - 1
8
- - 7
9
- - 1
10
- version: 1.7.1
8
+ - 8
9
+ - 0
10
+ version: 1.8.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Nicolas Santa
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-01-27 00:00:00 -03:00
18
+ date: 2011-04-14 00:00:00 -03:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -104,7 +104,7 @@ dependencies:
104
104
  type: :runtime
105
105
  - !ruby/object:Gem::Dependency
106
106
  prerelease: false
107
- name: jeweler
107
+ name: typhoeus
108
108
  version_requirements: &id007 !ruby/object:Gem::Requirement
109
109
  none: false
110
110
  requirements:
@@ -115,10 +115,10 @@ dependencies:
115
115
  - 0
116
116
  version: "0"
117
117
  requirement: *id007
118
- type: :development
118
+ type: :runtime
119
119
  - !ruby/object:Gem::Dependency
120
120
  prerelease: false
121
- name: rake
121
+ name: jeweler
122
122
  version_requirements: &id008 !ruby/object:Gem::Requirement
123
123
  none: false
124
124
  requirements:
@@ -132,7 +132,7 @@ dependencies:
132
132
  type: :development
133
133
  - !ruby/object:Gem::Dependency
134
134
  prerelease: false
135
- name: bundler
135
+ name: rake
136
136
  version_requirements: &id009 !ruby/object:Gem::Requirement
137
137
  none: false
138
138
  requirements:
@@ -146,7 +146,7 @@ dependencies:
146
146
  type: :development
147
147
  - !ruby/object:Gem::Dependency
148
148
  prerelease: false
149
- name: fakeweb
149
+ name: bundler
150
150
  version_requirements: &id010 !ruby/object:Gem::Requirement
151
151
  none: false
152
152
  requirements:
@@ -160,7 +160,7 @@ dependencies:
160
160
  type: :development
161
161
  - !ruby/object:Gem::Dependency
162
162
  prerelease: false
163
- name: rspec
163
+ name: fakeweb
164
164
  version_requirements: &id011 !ruby/object:Gem::Requirement
165
165
  none: false
166
166
  requirements:
@@ -174,7 +174,7 @@ dependencies:
174
174
  type: :development
175
175
  - !ruby/object:Gem::Dependency
176
176
  prerelease: false
177
- name: rcov
177
+ name: rspec
178
178
  version_requirements: &id012 !ruby/object:Gem::Requirement
179
179
  none: false
180
180
  requirements:
@@ -188,7 +188,7 @@ dependencies:
188
188
  type: :development
189
189
  - !ruby/object:Gem::Dependency
190
190
  prerelease: false
191
- name: redgreen
191
+ name: rcov
192
192
  version_requirements: &id013 !ruby/object:Gem::Requirement
193
193
  none: false
194
194
  requirements:
@@ -202,7 +202,7 @@ dependencies:
202
202
  type: :development
203
203
  - !ruby/object:Gem::Dependency
204
204
  prerelease: false
205
- name: activesupport
205
+ name: redgreen
206
206
  version_requirements: &id014 !ruby/object:Gem::Requirement
207
207
  none: false
208
208
  requirements:
@@ -213,10 +213,10 @@ dependencies:
213
213
  - 0
214
214
  version: "0"
215
215
  requirement: *id014
216
- type: :runtime
216
+ type: :development
217
217
  - !ruby/object:Gem::Dependency
218
218
  prerelease: false
219
- name: hashie
219
+ name: activesupport
220
220
  version_requirements: &id015 !ruby/object:Gem::Requirement
221
221
  none: false
222
222
  requirements:
@@ -230,7 +230,7 @@ dependencies:
230
230
  type: :runtime
231
231
  - !ruby/object:Gem::Dependency
232
232
  prerelease: false
233
- name: oauth2
233
+ name: hashie
234
234
  version_requirements: &id016 !ruby/object:Gem::Requirement
235
235
  none: false
236
236
  requirements:
@@ -244,7 +244,7 @@ dependencies:
244
244
  type: :runtime
245
245
  - !ruby/object:Gem::Dependency
246
246
  prerelease: false
247
- name: json
247
+ name: oauth2
248
248
  version_requirements: &id017 !ruby/object:Gem::Requirement
249
249
  none: false
250
250
  requirements:
@@ -258,7 +258,7 @@ dependencies:
258
258
  type: :runtime
259
259
  - !ruby/object:Gem::Dependency
260
260
  prerelease: false
261
- name: rest-client
261
+ name: json
262
262
  version_requirements: &id018 !ruby/object:Gem::Requirement
263
263
  none: false
264
264
  requirements:
@@ -272,7 +272,7 @@ dependencies:
272
272
  type: :runtime
273
273
  - !ruby/object:Gem::Dependency
274
274
  prerelease: false
275
- name: i18n
275
+ name: rest-client
276
276
  version_requirements: &id019 !ruby/object:Gem::Requirement
277
277
  none: false
278
278
  requirements:
@@ -286,7 +286,7 @@ dependencies:
286
286
  type: :runtime
287
287
  - !ruby/object:Gem::Dependency
288
288
  prerelease: false
289
- name: jeweler
289
+ name: i18n
290
290
  version_requirements: &id020 !ruby/object:Gem::Requirement
291
291
  none: false
292
292
  requirements:
@@ -297,10 +297,10 @@ dependencies:
297
297
  - 0
298
298
  version: "0"
299
299
  requirement: *id020
300
- type: :development
300
+ type: :runtime
301
301
  - !ruby/object:Gem::Dependency
302
302
  prerelease: false
303
- name: rake
303
+ name: typhoeus
304
304
  version_requirements: &id021 !ruby/object:Gem::Requirement
305
305
  none: false
306
306
  requirements:
@@ -311,10 +311,10 @@ dependencies:
311
311
  - 0
312
312
  version: "0"
313
313
  requirement: *id021
314
- type: :development
314
+ type: :runtime
315
315
  - !ruby/object:Gem::Dependency
316
316
  prerelease: false
317
- name: bundler
317
+ name: jeweler
318
318
  version_requirements: &id022 !ruby/object:Gem::Requirement
319
319
  none: false
320
320
  requirements:
@@ -328,7 +328,7 @@ dependencies:
328
328
  type: :development
329
329
  - !ruby/object:Gem::Dependency
330
330
  prerelease: false
331
- name: fakeweb
331
+ name: rake
332
332
  version_requirements: &id023 !ruby/object:Gem::Requirement
333
333
  none: false
334
334
  requirements:
@@ -342,7 +342,7 @@ dependencies:
342
342
  type: :development
343
343
  - !ruby/object:Gem::Dependency
344
344
  prerelease: false
345
- name: rspec
345
+ name: bundler
346
346
  version_requirements: &id024 !ruby/object:Gem::Requirement
347
347
  none: false
348
348
  requirements:
@@ -356,7 +356,7 @@ dependencies:
356
356
  type: :development
357
357
  - !ruby/object:Gem::Dependency
358
358
  prerelease: false
359
- name: rcov
359
+ name: fakeweb
360
360
  version_requirements: &id025 !ruby/object:Gem::Requirement
361
361
  none: false
362
362
  requirements:
@@ -370,7 +370,7 @@ dependencies:
370
370
  type: :development
371
371
  - !ruby/object:Gem::Dependency
372
372
  prerelease: false
373
- name: redgreen
373
+ name: rspec
374
374
  version_requirements: &id026 !ruby/object:Gem::Requirement
375
375
  none: false
376
376
  requirements:
@@ -382,6 +382,34 @@ dependencies:
382
382
  version: "0"
383
383
  requirement: *id026
384
384
  type: :development
385
+ - !ruby/object:Gem::Dependency
386
+ prerelease: false
387
+ name: rcov
388
+ version_requirements: &id027 !ruby/object:Gem::Requirement
389
+ none: false
390
+ requirements:
391
+ - - ">="
392
+ - !ruby/object:Gem::Version
393
+ hash: 3
394
+ segments:
395
+ - 0
396
+ version: "0"
397
+ requirement: *id027
398
+ type: :development
399
+ - !ruby/object:Gem::Dependency
400
+ prerelease: false
401
+ name: redgreen
402
+ version_requirements: &id028 !ruby/object:Gem::Requirement
403
+ none: false
404
+ requirements:
405
+ - - ">="
406
+ - !ruby/object:Gem::Version
407
+ hash: 3
408
+ segments:
409
+ - 0
410
+ version: "0"
411
+ requirement: *id028
412
+ type: :development
385
413
  description: A Gem for Facebook Open Graph API
386
414
  email: nicolas55ar@gmail.com
387
415
  executables: []
@@ -400,10 +428,10 @@ files:
400
428
  - Rakefile
401
429
  - TODO.list
402
430
  - VERSION
403
- - fbgraph.gemspec
404
431
  - lib/fbgraph.rb
405
432
  - lib/fbgraph/authorization.rb
406
433
  - lib/fbgraph/base.rb
434
+ - lib/fbgraph/cacert.pem
407
435
  - lib/fbgraph/canvas.rb
408
436
  - lib/fbgraph/client.rb
409
437
  - lib/fbgraph/realtime.rb
data/fbgraph.gemspec DELETED
@@ -1,139 +0,0 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
- # -*- encoding: utf-8 -*-
5
-
6
- Gem::Specification.new do |s|
7
- s.name = %q{fbgraph}
8
- s.version = "1.7.1"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Nicolas Santa"]
12
- s.date = %q{2011-01-27}
13
- s.description = %q{A Gem for Facebook Open Graph API}
14
- s.email = %q{nicolas55ar@gmail.com}
15
- s.extra_rdoc_files = [
16
- "README",
17
- "README.textile"
18
- ]
19
- s.files = [
20
- ".bundle/config",
21
- "Gemfile",
22
- "Manifest",
23
- "README",
24
- "README.textile",
25
- "Rakefile",
26
- "TODO.list",
27
- "VERSION",
28
- "fbgraph.gemspec",
29
- "lib/fbgraph.rb",
30
- "lib/fbgraph/authorization.rb",
31
- "lib/fbgraph/base.rb",
32
- "lib/fbgraph/canvas.rb",
33
- "lib/fbgraph/client.rb",
34
- "lib/fbgraph/realtime.rb",
35
- "lib/fbgraph/result.rb",
36
- "lib/fbgraph/search.rb",
37
- "lib/fbgraph/selection.rb",
38
- "specs/lib/fbauth/authorization_spec.rb",
39
- "specs/lib/fbauth/base_spec.rb",
40
- "specs/lib/fbauth/client_spec.rb",
41
- "specs/lib/fbauth/realtime_spec.rb",
42
- "specs/lib/fbauth/search_spec.rb",
43
- "specs/lib/fbauth/selection_spec.rb",
44
- "specs/spec_helper.rb"
45
- ]
46
- s.homepage = %q{http://github.com/nsanta/fbgraph}
47
- s.require_paths = ["lib"]
48
- s.rubygems_version = %q{1.3.7}
49
- s.summary = %q{A Gem for Facebook Open Graph API}
50
-
51
- if s.respond_to? :specification_version then
52
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
53
- s.specification_version = 3
54
-
55
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
56
- s.add_runtime_dependency(%q<activesupport>, [">= 0"])
57
- s.add_runtime_dependency(%q<hashie>, [">= 0"])
58
- s.add_runtime_dependency(%q<oauth2>, [">= 0"])
59
- s.add_runtime_dependency(%q<json>, [">= 0"])
60
- s.add_runtime_dependency(%q<rest-client>, [">= 0"])
61
- s.add_runtime_dependency(%q<i18n>, [">= 0"])
62
- s.add_development_dependency(%q<jeweler>, [">= 0"])
63
- s.add_development_dependency(%q<rake>, [">= 0"])
64
- s.add_development_dependency(%q<bundler>, [">= 0"])
65
- s.add_development_dependency(%q<fakeweb>, [">= 0"])
66
- s.add_development_dependency(%q<rspec>, [">= 0"])
67
- s.add_development_dependency(%q<rcov>, [">= 0"])
68
- s.add_development_dependency(%q<redgreen>, [">= 0"])
69
- s.add_runtime_dependency(%q<activesupport>, [">= 0"])
70
- s.add_runtime_dependency(%q<hashie>, [">= 0"])
71
- s.add_runtime_dependency(%q<oauth2>, [">= 0"])
72
- s.add_runtime_dependency(%q<json>, [">= 0"])
73
- s.add_runtime_dependency(%q<rest-client>, [">= 0"])
74
- s.add_runtime_dependency(%q<i18n>, [">= 0"])
75
- s.add_development_dependency(%q<jeweler>, [">= 0"])
76
- s.add_development_dependency(%q<rake>, [">= 0"])
77
- s.add_development_dependency(%q<bundler>, [">= 0"])
78
- s.add_development_dependency(%q<fakeweb>, [">= 0"])
79
- s.add_development_dependency(%q<rspec>, [">= 0"])
80
- s.add_development_dependency(%q<rcov>, [">= 0"])
81
- s.add_development_dependency(%q<redgreen>, [">= 0"])
82
- else
83
- s.add_dependency(%q<activesupport>, [">= 0"])
84
- s.add_dependency(%q<hashie>, [">= 0"])
85
- s.add_dependency(%q<oauth2>, [">= 0"])
86
- s.add_dependency(%q<json>, [">= 0"])
87
- s.add_dependency(%q<rest-client>, [">= 0"])
88
- s.add_dependency(%q<i18n>, [">= 0"])
89
- s.add_dependency(%q<jeweler>, [">= 0"])
90
- s.add_dependency(%q<rake>, [">= 0"])
91
- s.add_dependency(%q<bundler>, [">= 0"])
92
- s.add_dependency(%q<fakeweb>, [">= 0"])
93
- s.add_dependency(%q<rspec>, [">= 0"])
94
- s.add_dependency(%q<rcov>, [">= 0"])
95
- s.add_dependency(%q<redgreen>, [">= 0"])
96
- s.add_dependency(%q<activesupport>, [">= 0"])
97
- s.add_dependency(%q<hashie>, [">= 0"])
98
- s.add_dependency(%q<oauth2>, [">= 0"])
99
- s.add_dependency(%q<json>, [">= 0"])
100
- s.add_dependency(%q<rest-client>, [">= 0"])
101
- s.add_dependency(%q<i18n>, [">= 0"])
102
- s.add_dependency(%q<jeweler>, [">= 0"])
103
- s.add_dependency(%q<rake>, [">= 0"])
104
- s.add_dependency(%q<bundler>, [">= 0"])
105
- s.add_dependency(%q<fakeweb>, [">= 0"])
106
- s.add_dependency(%q<rspec>, [">= 0"])
107
- s.add_dependency(%q<rcov>, [">= 0"])
108
- s.add_dependency(%q<redgreen>, [">= 0"])
109
- end
110
- else
111
- s.add_dependency(%q<activesupport>, [">= 0"])
112
- s.add_dependency(%q<hashie>, [">= 0"])
113
- s.add_dependency(%q<oauth2>, [">= 0"])
114
- s.add_dependency(%q<json>, [">= 0"])
115
- s.add_dependency(%q<rest-client>, [">= 0"])
116
- s.add_dependency(%q<i18n>, [">= 0"])
117
- s.add_dependency(%q<jeweler>, [">= 0"])
118
- s.add_dependency(%q<rake>, [">= 0"])
119
- s.add_dependency(%q<bundler>, [">= 0"])
120
- s.add_dependency(%q<fakeweb>, [">= 0"])
121
- s.add_dependency(%q<rspec>, [">= 0"])
122
- s.add_dependency(%q<rcov>, [">= 0"])
123
- s.add_dependency(%q<redgreen>, [">= 0"])
124
- s.add_dependency(%q<activesupport>, [">= 0"])
125
- s.add_dependency(%q<hashie>, [">= 0"])
126
- s.add_dependency(%q<oauth2>, [">= 0"])
127
- s.add_dependency(%q<json>, [">= 0"])
128
- s.add_dependency(%q<rest-client>, [">= 0"])
129
- s.add_dependency(%q<i18n>, [">= 0"])
130
- s.add_dependency(%q<jeweler>, [">= 0"])
131
- s.add_dependency(%q<rake>, [">= 0"])
132
- s.add_dependency(%q<bundler>, [">= 0"])
133
- s.add_dependency(%q<fakeweb>, [">= 0"])
134
- s.add_dependency(%q<rspec>, [">= 0"])
135
- s.add_dependency(%q<rcov>, [">= 0"])
136
- s.add_dependency(%q<redgreen>, [">= 0"])
137
- end
138
- end
139
-