koala 1.6.0 → 1.7.0rc1
Sign up to get free protection for your applications and to get access to all the features.
- data/.travis.yml +2 -5
- data/Gemfile +1 -2
- data/changelog.md +107 -4
- data/koala.gemspec +5 -5
- data/lib/koala.rb +13 -4
- data/lib/koala/api.rb +28 -3
- data/lib/koala/api/graph_api.rb +33 -3
- data/lib/koala/api/graph_collection.rb +20 -20
- data/lib/koala/api/rest_api.rb +1 -3
- data/lib/koala/http_service.rb +21 -16
- data/lib/koala/oauth.rb +15 -11
- data/lib/koala/version.rb +1 -1
- data/readme.md +34 -7
- data/spec/cases/api_spec.rb +21 -1
- data/spec/cases/graph_api_batch_spec.rb +38 -16
- data/spec/cases/graph_api_spec.rb +13 -20
- data/spec/cases/http_service_spec.rb +39 -9
- data/spec/cases/koala_spec.rb +34 -22
- data/spec/cases/oauth_spec.rb +16 -12
- data/spec/cases/test_users_spec.rb +5 -1
- data/spec/fixtures/mock_facebook_responses.yml +14 -6
- data/spec/spec_helper.rb +19 -35
- data/spec/support/graph_api_shared_examples.rb +34 -17
- data/spec/support/koala_test.rb +10 -1
- data/spec/support/mock_http_service.rb +77 -33
- metadata +27 -32
- data/spec/support/json_testing_fix.rb +0 -42
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
source
|
1
|
+
source "https://rubygems.org"
|
2
2
|
|
3
3
|
group :development do
|
4
4
|
gem "yard"
|
@@ -10,7 +10,6 @@ group :development, :test do
|
|
10
10
|
# Testing infrastructure
|
11
11
|
gem 'guard'
|
12
12
|
gem 'guard-rspec'
|
13
|
-
gem "parallel_tests"
|
14
13
|
|
15
14
|
if RUBY_PLATFORM =~ /darwin/
|
16
15
|
# OS X integration
|
data/changelog.md
CHANGED
@@ -1,16 +1,46 @@
|
|
1
|
+
v1.7
|
2
|
+
====
|
3
|
+
|
4
|
+
New methods:
|
5
|
+
* API#debug_token allows you to examine user tokens (thanks, Cyril-sf!)
|
6
|
+
* Koala.config allows you to set Facebook servers (to use proxies, etc.) (thanks, bnorton!)
|
7
|
+
|
8
|
+
Internal improvements:
|
9
|
+
* CHANGED: Parameters can now be Arrays of non-enumerable values, which get comma-separated (thanks, csaunders!)
|
10
|
+
* CHANGED: API#put_wall_post now automatically encodes parameters hashes as JSON
|
11
|
+
* CHANGED: GraphCollections returned by batch API calls retain individual access tokens (thanks, billvieux!)
|
12
|
+
* CHANGED: Gem version restrictions have been removed, and versions updated.
|
13
|
+
* CHANGED: How support files are loaded in spec_helper has been improved.
|
14
|
+
* FIXED: API#get_picture returns nil if FB returns no result, rather than error (thanks, mtparet!)
|
15
|
+
* FIXED: Koala now uses the right grant_type value for fetching app access tokens (thanks, miv!)
|
16
|
+
* FIXED: Koala now uses the modern OAuth endpoint for generating codes (thanks, jayeff!)
|
17
|
+
* FIXED: Misc small fixes, typos, etc. (thanks, Ortuna, Crunch09, sagarbommidi!)
|
18
|
+
|
19
|
+
Testing improvements:
|
20
|
+
* FIXED: MockHTTPService compares Ruby objects rather than strings.
|
21
|
+
* FIXED: Removed deprecated usage of should_not_receive.and_return (thanks, Cyril-sf!)
|
22
|
+
* FIXED: Test suite now supports Typhoeus 0.5 (thanks, Cyril-sf!)
|
23
|
+
* CHANGED: Koala now tests against Ruby 2.0 on Travis (thanks, sanemat!)
|
24
|
+
|
1
25
|
v1.6
|
26
|
+
====
|
27
|
+
|
2
28
|
New methods:
|
3
29
|
* RealtimeUpdates#validate_update to validate the signature of a Facebook call (thanks, gaffo!)
|
30
|
+
|
4
31
|
Updated methods:
|
5
32
|
* Graph API methods now accepts a post processing block, see readme for examples (thanks, wolframarnold!)
|
6
|
-
|
33
|
+
|
34
|
+
Internal improvements:
|
7
35
|
* Koala now returns more specific and useful error classes (thanks, archfear!)
|
8
36
|
* Switched URL parsing to addressable, which can handle unusual FB URLs (thanks, bnorton!)
|
9
37
|
* Fixed Batch API bug that seems to have broken calls requiring post-processing
|
10
38
|
* Bump Faraday requirement to 0.8 (thanks, jarthod!)
|
11
39
|
* Picture and video URLs now support unicode characters (thanks, jayeff!)
|
40
|
+
|
12
41
|
Testing improvements:
|
13
42
|
* Cleaned up some test suites (thanks, bnorton!)
|
43
|
+
|
14
44
|
Documentation:
|
15
45
|
* Changelog is now markdown
|
16
46
|
* Code highlighting in readme (thanks, sfate!)
|
@@ -18,11 +48,15 @@ Documentation:
|
|
18
48
|
* Added permissions example for OAuth (thanks, sebastiandeutsch!)
|
19
49
|
|
20
50
|
v1.5
|
51
|
+
====
|
52
|
+
|
21
53
|
New methods:
|
22
54
|
* Added Koala::Utils.logger to enable debugging (thanks, KentonWhite!)
|
23
55
|
* Expose fb_error_message and fb_error_code directly in APIError
|
56
|
+
|
24
57
|
Updated methods:
|
25
58
|
* GraphCollection.parse_page_url now uses the URI library and can parse any address (thanks, bnorton!)
|
59
|
+
|
26
60
|
Internal improvements:
|
27
61
|
* Update MultiJson dependency to support the Oj library (thanks, eckz and zinenko!)
|
28
62
|
* Loosened Faraday dependency (thanks, rewritten and romanbsd!)
|
@@ -30,33 +64,44 @@ Internal improvements:
|
|
30
64
|
* Switched uses of put_object to the more semantically accurate put_connections
|
31
65
|
* Cleaned up gemspec
|
32
66
|
* Handle invalid batch API responses better
|
67
|
+
|
33
68
|
Documentation:
|
34
69
|
* Added HTTP Services description for Faraday 0.8/persistent connections (thanks, romanbsd!)
|
35
70
|
* Remove documentation of the old pre-1.2 HTTP Service options
|
36
71
|
|
37
|
-
|
72
|
+
v1.4.1
|
73
|
+
=======
|
74
|
+
|
38
75
|
* Update MultiJson to 1.3 and change syntax to silence warnings (thanks, eckz and masterkain!)
|
39
76
|
|
40
77
|
v1.4
|
78
|
+
====
|
79
|
+
|
41
80
|
New methods:
|
42
81
|
* OAuth#exchange_access_token(_info) allows you to extend access tokens you receive (thanks, etiennebarrie!)
|
82
|
+
|
43
83
|
Updated methods:
|
44
84
|
* HTTPServices#encode_params sorts parameters to aid in URL comparison (thanks, sholden!)
|
45
85
|
* get_connections is now aliased as get_connection (use whichever makes sense to you)
|
86
|
+
|
46
87
|
Internal improvements:
|
47
88
|
* Fixed typos (thanks, brycethornton and jpemberthy!)
|
48
89
|
* RealtimeUpdates will no longer execute challenge block unnecessarily (thanks, iainbeeston!)
|
90
|
+
|
49
91
|
Testing improvements:
|
50
92
|
* Added parallel_tests to development gem file
|
51
93
|
* Fixed failing live tests
|
52
94
|
* Koala now tests against JRuby and Rubinius in 1.9 mode on Travis-CI
|
53
95
|
|
54
96
|
v1.3
|
97
|
+
====
|
98
|
+
|
55
99
|
New methods:
|
56
100
|
* OAuth#url_for_dialog creates URLs for Facebook dialog pages
|
57
101
|
* API#set_app_restrictions handles JSON-encoding app restrictions
|
58
102
|
* GraphCollection.parse_page_url now exposes useful functionality for non-Rails apps
|
59
103
|
* RealtimeUpdates#subscription_path and TestUsers#test_user_accounts_path are now public
|
104
|
+
|
60
105
|
Updated methods:
|
61
106
|
* REST API methods are now deprecated (see http://developers.facebook.com/blog/post/616/)
|
62
107
|
* OAuth#url_for_access_token and #url_for_oauth_code now include any provided options as URL parameters
|
@@ -67,12 +112,14 @@ Updated methods:
|
|
67
112
|
* All methods with http_options can now take :http_component => :response for the complete response
|
68
113
|
* OAuth#get_user_info_from_cookies returns nil rather than an error if the cookies are expired (thanks, herzio)
|
69
114
|
* TestUsers#delete_all now uses the Batch API and is much faster
|
115
|
+
|
70
116
|
Internal improvements:
|
71
117
|
* FQL queries now use the Graph API behind-the-scenes
|
72
118
|
* Cleaned up file and class organization, with aliases for backward compatibility
|
73
119
|
* Added YARD documentation throughout
|
74
120
|
* Fixed bugs in RealtimeUpdates, TestUsers, elsewhere
|
75
121
|
* Reorganized file and class structure non-destructively
|
122
|
+
|
76
123
|
Testing improvements:
|
77
124
|
* Expanded/improved test coverage
|
78
125
|
* The test suite no longer users any hard-coded user IDs
|
@@ -80,27 +127,35 @@ Testing improvements:
|
|
80
127
|
* Configured tests to run in random order using RSpec 2.8.0rc1
|
81
128
|
|
82
129
|
v1.2.1
|
130
|
+
======
|
131
|
+
|
83
132
|
New methods:
|
84
133
|
* RestAPI.set_app_properties handles JSON-encoding application properties
|
134
|
+
|
85
135
|
Updated methods:
|
86
136
|
* OAuth.get_user_from_cookie works with the new signed cookie format (thanks, gmccreight!)
|
87
137
|
* Beta server URLs are now correct
|
88
138
|
* OAuth.parse_signed_request now raises an informative error if the signed_request is malformed
|
139
|
+
|
89
140
|
Internal improvements:
|
90
141
|
* Koala::Multipart middleware properly encoding nested parameters (hashes) in POSTs
|
91
142
|
* Updated readme, changelog, etc.
|
143
|
+
|
92
144
|
Testing improvements:
|
93
145
|
* Live tests with test users now clean up all fake users they create
|
94
146
|
* Removed duplicate test cases
|
95
147
|
* Live tests with test users no longer delete each object they create, speeding things up
|
96
148
|
|
97
149
|
v1.2
|
150
|
+
====
|
151
|
+
|
98
152
|
New methods:
|
99
153
|
* API is now the main API class, contains both Graph and REST methods
|
100
154
|
* Old classes are aliased with deprecation warnings (non-breaking change)
|
101
155
|
* TestUsers#update lets you update the name or password of an existing test user
|
102
156
|
* API.get_page_access_token lets you easily fetch the access token for a page you manage (thanks, marcgg!)
|
103
157
|
* Added version.rb (Koala::VERSION)
|
158
|
+
|
104
159
|
Updated methods:
|
105
160
|
* OAuth now parses Facebook's new signed cookie format
|
106
161
|
* API.put_picture now accepts URLs to images (thanks, marcgg!)
|
@@ -110,6 +165,7 @@ Updated methods:
|
|
110
165
|
* Non-pageable results from get_connections no longer error
|
111
166
|
* GraphCollection.raw_results allows access to original result data
|
112
167
|
* Koala no longer enforces any limits on the number of test users you create at once
|
168
|
+
|
113
169
|
Internal improvements:
|
114
170
|
* Koala now uses Faraday to make requests, replacing the HTTPServices (see wiki)
|
115
171
|
* Koala::HTTPService.http_options allows specification of default Faraday connection options
|
@@ -120,6 +176,7 @@ Internal improvements:
|
|
120
176
|
* RealTimeUpdates and TestUsers are no longer subclasses of API, but have their own .api objects
|
121
177
|
* The old .graph_api accessor is aliases to .api with a deprecation warning
|
122
178
|
* Removed deprecation warnings for pre-1.1 batch interface
|
179
|
+
|
123
180
|
Testing improvements:
|
124
181
|
* Live test suites now run against test users by default
|
125
182
|
* Test suite can be repeatedly run live without having to update facebook_data.yml
|
@@ -131,6 +188,8 @@ Testing improvements:
|
|
131
188
|
* Fixed bug with YAML parsing in Ruby 1.9
|
132
189
|
|
133
190
|
v1.1
|
191
|
+
====
|
192
|
+
|
134
193
|
New methods:
|
135
194
|
* Added Batch API support (thanks, seejohnrun and spiegela!)
|
136
195
|
* includes file uploads, error handling, and FQL
|
@@ -139,11 +198,13 @@ New methods:
|
|
139
198
|
* Added RestAPI#fql_multiquery, which simplifies the results (thanks, amrnt!)
|
140
199
|
* HTTP services support global proxy and timeout settings (thanks, itchy!)
|
141
200
|
* Net::HTTP supports global ca_path, ca_file, and verify_mode settings (thanks, spiegela!)
|
201
|
+
|
142
202
|
Updated methods:
|
143
203
|
* RealtimeUpdates now uses a GraphAPI object instead of its own API
|
144
204
|
* RestAPI#rest_call now has an optional last argument for method, for calls requiring POST, DELETE, etc. (thanks, sshilo!)
|
145
205
|
* Filename can now be specified when uploading (e.g. for Ads API) (thanks, sshilo!)
|
146
206
|
* get_objects([]) returns [] instead of a Facebook error in non-batch mode (thanks, aselder!)
|
207
|
+
|
147
208
|
Internal improvements:
|
148
209
|
* Koala is now more compatible with other Rubies (JRuby, Rubinius, etc.)
|
149
210
|
* HTTP services are more modular and can be changed on the fly (thanks, chadk!)
|
@@ -154,11 +215,14 @@ Internal improvements:
|
|
154
215
|
* Fixed bugs and typos (thanks, waynn, mokevnin, and tikh!)
|
155
216
|
|
156
217
|
v1.0
|
218
|
+
====
|
219
|
+
|
157
220
|
New methods:
|
158
221
|
* Photo and file upload now supported through #put_picture
|
159
222
|
* Added UploadableIO class to manage file uploads
|
160
223
|
* Added a delete_like method (thanks to waseem)
|
161
224
|
* Added put_connection and delete_connection convenience methods
|
225
|
+
|
162
226
|
Updated methods:
|
163
227
|
* Search can now search places, checkins, etc. (thanks, rickyc!)
|
164
228
|
* You can now pass :beta => true in the http options to use Facebook's beta tier
|
@@ -167,6 +231,7 @@ Updated methods:
|
|
167
231
|
* url_for_oauth_code can now take a :display option (thanks, netbe!)
|
168
232
|
* Net::HTTP can now accept :timeout and :proxy options (thanks, gilles!)
|
169
233
|
* Test users now supports using test accounts across multiple apps
|
234
|
+
|
170
235
|
Internal improvements:
|
171
236
|
* For public requests, Koala now uses http by default (instead of https) to improve speed
|
172
237
|
* This can be overridden through Koala.always_use_ssl= or by passing :use_ssl => true in the options hash for an api call
|
@@ -178,6 +243,7 @@ Internal improvements:
|
|
178
243
|
* APIError is now < StandardError, not Exception
|
179
244
|
* Added KoalaError for non-API errors
|
180
245
|
* Net::HTTP's SSL verification is no longer disabled by default
|
246
|
+
|
181
247
|
Test improvements:
|
182
248
|
* Incorporated joshk's awesome rewrite of the entire Koala test suite (thanks, joshk!)
|
183
249
|
* Expanded HTTP service tests (added Typhoeus test suite and additional Net::HTTP test cases)
|
@@ -185,16 +251,22 @@ Test improvements:
|
|
185
251
|
* Replaced the 50-person network test, which often took 15+ minutes to run live, with a 5-person test
|
186
252
|
|
187
253
|
v0.10.0
|
254
|
+
=======
|
255
|
+
|
188
256
|
* Added test user module
|
189
257
|
* Fixed bug when raising APIError after Facebook fails to exchange session keys
|
190
258
|
* Made access_token accessible via the readonly access_token property on all our API classes
|
191
259
|
|
192
260
|
v0.9.1
|
261
|
+
======
|
262
|
+
|
193
263
|
* Tests are now compatible with Ruby 1.9.2
|
194
264
|
* Added JSON to runtime dependencies
|
195
265
|
* Removed examples directory (referenced from github instead)
|
196
266
|
|
197
267
|
v0.9.0
|
268
|
+
======
|
269
|
+
|
198
270
|
* Added parse_signed_request to handle Facebook's new authentication scheme
|
199
271
|
* note: creates dependency on OpenSSL (OpenSSL::HMAC) for decryption
|
200
272
|
* Added GraphCollection class to provide paging support for GraphAPI get_connections and search methods (thanks to jagthedrummer)
|
@@ -205,14 +277,20 @@ v0.9.0
|
|
205
277
|
* If Facebook returns nil for search or get_connections requests, Koala now returns nil rather than throwing an exception
|
206
278
|
|
207
279
|
v0.8.0
|
280
|
+
======
|
281
|
+
|
208
282
|
* Breaking interface changes
|
209
283
|
* Removed string overloading for the methods, per 0.7.3, which caused Marshaling issues
|
210
284
|
* Removed ability to provide a string as the second argument to url_for_access_token, per 0.5.0
|
211
285
|
|
212
286
|
v0.7.4
|
287
|
+
======
|
288
|
+
|
213
289
|
* Fixed bug with get_user_from_cookies
|
214
290
|
|
215
291
|
v0.7.3
|
292
|
+
======
|
293
|
+
|
216
294
|
* Added support for picture sizes -- thanks thhermansen for the patch!
|
217
295
|
* Adjusted the return values for several methods (get_access_token, get_app_access_token, get_token_from_session_key, get_tokens_from_session_keys, get_user_from_cookies)
|
218
296
|
* These methods now return strings, rather than hashes, which makes more sense
|
@@ -225,18 +303,24 @@ v0.7.3
|
|
225
303
|
* Added license
|
226
304
|
|
227
305
|
v0.7.2
|
306
|
+
======
|
307
|
+
|
228
308
|
* Added support for exchanging session keys for OAuth access tokens (get_token_from_session_key for single keys, get_tokens_from_session_keys for multiple)
|
229
309
|
* Moved Koala files into a koala/ subdirectory to minimize risk of name collisions
|
230
310
|
* Added OAuth Playground git submodule as an example
|
231
311
|
* Updated tests, readme, and changelog
|
232
312
|
|
233
313
|
v0.7.1
|
314
|
+
======
|
315
|
+
|
234
316
|
* Updated RealtimeUpdates#list_subscriptions and GraphAPI#get_connections to now return an
|
235
317
|
array of results directly (rather than a hash with one key)
|
236
318
|
* Fixed a bug with Net::HTTP-based HTTP service in which the headers hash was improperly formatted
|
237
319
|
* Updated readme
|
238
320
|
|
239
321
|
v0.7.0
|
322
|
+
======
|
323
|
+
|
240
324
|
* Added RealtimeUpdates class, which can be used to manage subscriptions for user updates (see http://developers.facebook.com/docs/api/realtime)
|
241
325
|
* Added picture method to graph API, which fetches an object's picture from the redirect headers.
|
242
326
|
* Added _greatly_ improved testing with result mocking, which is now the default set of tests
|
@@ -245,16 +329,21 @@ v0.7.0
|
|
245
329
|
* Much internal refactoring
|
246
330
|
* Updated readme, changelog, etc.
|
247
331
|
|
248
|
-
|
249
332
|
v0.6.0
|
333
|
+
======
|
334
|
+
|
250
335
|
* Added support for the old REST API thanks to cbaclig's great work
|
251
336
|
* Updated tests to conform to RSpec standards
|
252
337
|
* Updated changelog, readme, etc.
|
253
338
|
|
254
339
|
v0.5.1
|
340
|
+
======
|
341
|
+
|
255
342
|
* Documentation is now on the wiki, updated readme accordingly.
|
256
343
|
|
257
344
|
v0.5.0
|
345
|
+
======
|
346
|
+
|
258
347
|
* Added several new OAuth methods for making and parsing access token requests
|
259
348
|
* Added test suite for the OAuth class
|
260
349
|
* Made second argument to url_for_access_token a hash (strings still work but trigger a deprecation warning)
|
@@ -262,20 +351,28 @@ v0.5.0
|
|
262
351
|
* Updated readme
|
263
352
|
|
264
353
|
v0.4.1
|
354
|
+
======
|
355
|
+
|
265
356
|
* Encapsulated GraphAPI and OAuth classes in the Koala::Facebook module for clarity (and to avoid claiming the global Facebook class)
|
266
357
|
* Moved make_request method to Koala class from GraphAPI instance (for use by future OAuth class functionality)
|
267
358
|
* Renamed request method to api for consistancy with Javascript library
|
268
359
|
* Updated tests and readme
|
269
360
|
|
270
361
|
v0.4.0
|
362
|
+
======
|
363
|
+
|
271
364
|
* Adopted the Koala name
|
272
365
|
* Updated readme and tests
|
273
366
|
* Fixed cookie verification bug for non-expiring OAuth tokens
|
274
367
|
|
275
368
|
v0.3.1
|
369
|
+
======
|
370
|
+
|
276
371
|
* Bug fixes.
|
277
372
|
|
278
373
|
v0.3
|
374
|
+
====
|
375
|
+
|
279
376
|
* Renamed Graph API class from Facebook::GraphAPI to FacebookGraph::API
|
280
377
|
* Created FacebookGraph::OAuth class for tokens and OAuth URLs
|
281
378
|
* Updated method for including HTTP service (think we've got it this time)
|
@@ -283,12 +380,18 @@ v0.3
|
|
283
380
|
* Added CHANGELOG and gemspec
|
284
381
|
|
285
382
|
v0.2
|
383
|
+
====
|
384
|
+
|
286
385
|
* Gemified the project
|
287
386
|
* Split out HTTP services into their own file, and adjusted inclusion method
|
288
387
|
|
289
388
|
v0.1
|
389
|
+
====
|
390
|
+
|
290
391
|
* Added modular support for Typhoeus
|
291
392
|
* Added tests
|
292
393
|
|
293
394
|
v0.0
|
294
|
-
|
395
|
+
====
|
396
|
+
|
397
|
+
* Hi from F8! Basic read/write from the graph is working
|
data/koala.gemspec
CHANGED
@@ -20,9 +20,9 @@ Gem::Specification.new do |gem|
|
|
20
20
|
gem.extra_rdoc_files = ["readme.md", "changelog.md"]
|
21
21
|
gem.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Koala"]
|
22
22
|
|
23
|
-
gem.add_runtime_dependency(
|
24
|
-
gem.add_runtime_dependency(
|
25
|
-
gem.add_runtime_dependency(
|
26
|
-
gem.add_development_dependency(
|
27
|
-
gem.add_development_dependency(
|
23
|
+
gem.add_runtime_dependency("multi_json")
|
24
|
+
gem.add_runtime_dependency("faraday")
|
25
|
+
gem.add_runtime_dependency("addressable")
|
26
|
+
gem.add_development_dependency("rspec")
|
27
|
+
gem.add_development_dependency("rake")
|
28
28
|
end
|
data/lib/koala.rb
CHANGED
@@ -15,20 +15,29 @@ require 'koala/http_service'
|
|
15
15
|
# miscellaneous
|
16
16
|
require 'koala/utils'
|
17
17
|
require 'koala/version'
|
18
|
+
require 'ostruct'
|
18
19
|
|
19
20
|
module Koala
|
20
21
|
# A Ruby client library for the Facebook Platform.
|
21
22
|
# See http://github.com/arsduo/koala/wiki for a general introduction to Koala
|
22
23
|
# and the Graph API.
|
23
|
-
|
24
|
+
|
24
25
|
# Making HTTP requests
|
25
26
|
class << self
|
26
|
-
# Control which HTTP service framework Koala uses.
|
27
|
+
# Control which HTTP service framework Koala uses.
|
27
28
|
# Primarily used to switch between the mock-request framework used in testing
|
28
29
|
# and the live framework used in real life (and live testing).
|
29
30
|
# In theory, you could write your own HTTPService module if you need different functionality,
|
30
31
|
# but since the switch to {https://github.com/arsduo/koala/wiki/HTTP-Services Faraday} almost all such goals can be accomplished with middleware.
|
31
32
|
attr_accessor :http_service
|
33
|
+
|
34
|
+
def configure
|
35
|
+
yield config
|
36
|
+
end
|
37
|
+
|
38
|
+
def config
|
39
|
+
@config ||= OpenStruct.new(HTTPService::DEFAULT_SERVERS)
|
40
|
+
end
|
32
41
|
end
|
33
42
|
|
34
43
|
# @private
|
@@ -39,14 +48,14 @@ module Koala
|
|
39
48
|
# if this is a deprecated module, support the old interface
|
40
49
|
# by changing the default adapter so the right library is used
|
41
50
|
# we continue to use the single HTTPService module for everything
|
42
|
-
service.deprecated_interface
|
51
|
+
service.deprecated_interface
|
43
52
|
else
|
44
53
|
# if it's a real http_service, use it
|
45
54
|
@http_service = service
|
46
55
|
end
|
47
56
|
end
|
48
57
|
|
49
|
-
# An convenenient alias to Koala.http_service.make_request.
|
58
|
+
# An convenenient alias to Koala.http_service.make_request.
|
50
59
|
def self.make_request(path, args, verb, options = {})
|
51
60
|
http_service.make_request(path, args, verb, options)
|
52
61
|
end
|