koala 1.10.0 → 1.10.1
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.
- checksums.yaml +4 -4
- data/changelog.md +8 -0
- data/lib/koala/api/graph_api.rb +2 -2
- data/lib/koala/http_service.rb +7 -5
- data/lib/koala/version.rb +1 -1
- data/spec/cases/http_service_spec.rb +22 -17
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8b83335264188054c217fd836a1f6508b2fcf420
|
4
|
+
data.tar.gz: 43116e3f574b6c689bed8a6a47a0ff25b69f6f3f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5982606d43ac0435e33de8b1a74e6ed32077cc515f0a52162f2ae5fe043242051e23c49a3502fcfac97ba539b7d6bcf777b383ea3bbc70db0c846d8532c04a7f
|
7
|
+
data.tar.gz: abf6a0fbf049448a8d5195e353512307c0dc1d03c319fa3d61448457463ef3e994e14b9dff4b9712b846be47984c88b28225d8aec4a8e4227658807ffafd00a5
|
data/changelog.md
CHANGED
data/lib/koala/api/graph_api.rb
CHANGED
@@ -119,7 +119,7 @@ module Koala
|
|
119
119
|
|
120
120
|
# Write an object to the Graph for a specific user.
|
121
121
|
# See {http://developers.facebook.com/docs/api#publishing Facebook's documentation}
|
122
|
-
# for all the supported writeable objects. It is important to note that objects
|
122
|
+
# for all the supported writeable objects. It is important to note that objects
|
123
123
|
# take the singular form, i.e. "event" when using put_connections.
|
124
124
|
#
|
125
125
|
# @note (see #get_connection)
|
@@ -237,7 +237,7 @@ module Koala
|
|
237
237
|
#
|
238
238
|
# @example
|
239
239
|
# @api.put_wall_post("Hello there!", {
|
240
|
-
# "name" => "Link name"
|
240
|
+
# "name" => "Link name",
|
241
241
|
# "link" => "http://www.example.com/",
|
242
242
|
# "caption" => "{*actor*} posted a new review",
|
243
243
|
# "description" => "This is a longer description of the attachment",
|
data/lib/koala/http_service.rb
CHANGED
@@ -47,17 +47,12 @@ module Koala
|
|
47
47
|
# @option options :video use the server designated for video uploads
|
48
48
|
# @option options :beta use the beta tier
|
49
49
|
# @option options :use_ssl force https, even if not needed
|
50
|
-
# @option options :api_version a version of the Facebook API, e.g. v2.0
|
51
50
|
#
|
52
51
|
# @return a complete server address with protocol
|
53
52
|
def self.server(options = {})
|
54
53
|
server = "#{options[:rest_api] ? Koala.config.rest_server : Koala.config.graph_server}"
|
55
54
|
server.gsub!(Koala.config.host_path_matcher, Koala.config.video_replace) if options[:video]
|
56
55
|
server.gsub!(Koala.config.host_path_matcher, Koala.config.beta_replace) if options[:beta]
|
57
|
-
# ...and an API version if specified
|
58
|
-
if api_version = options[:api_version] || Koala.config.api_version
|
59
|
-
server = "#{server}/#{api_version}"
|
60
|
-
end
|
61
56
|
"#{options[:use_ssl] ? "https" : "http"}://#{server}"
|
62
57
|
end
|
63
58
|
|
@@ -93,6 +88,13 @@ module Koala
|
|
93
88
|
ssl[:verify] = true unless ssl.has_key?(:verify)
|
94
89
|
end
|
95
90
|
|
91
|
+
# if an api_version is specified, prepend it to the path
|
92
|
+
if api_version = request_options[:api_version] || Koala.config.api_version
|
93
|
+
begins_with_slash = path[0] == "/"
|
94
|
+
divider = begins_with_slash ? "" : "/"
|
95
|
+
path = "/#{api_version}#{divider}#{path}"
|
96
|
+
end
|
97
|
+
|
96
98
|
# set up our Faraday connection
|
97
99
|
# we have to manually assign params to the URL or the
|
98
100
|
conn = Faraday.new(server(request_options), faraday_options(request_options), &(faraday_middleware || DEFAULT_MIDDLEWARE))
|
data/lib/koala/version.rb
CHANGED
@@ -130,23 +130,6 @@ describe Koala::HTTPService do
|
|
130
130
|
expect(server).to match(Regexp.new(Koala.config.graph_server.gsub(/\.facebook/, "-video.facebook")))
|
131
131
|
end
|
132
132
|
end
|
133
|
-
|
134
|
-
context "with API versions" do
|
135
|
-
it "adds a version if specified by Koala.config" do
|
136
|
-
Koala.config.api_version = "v1000.000"
|
137
|
-
expect(Koala::HTTPService.server).to eq(
|
138
|
-
"http://#{Koala.config.graph_server}/#{Koala.config.api_version}"
|
139
|
-
)
|
140
|
-
end
|
141
|
-
|
142
|
-
it "prefers a version set in the options" do
|
143
|
-
Koala.config.api_version = "v1000.000"
|
144
|
-
version = "v2.0"
|
145
|
-
expect(Koala::HTTPService.server(api_version: version)).to eq(
|
146
|
-
"http://#{Koala.config.graph_server}/#{version}"
|
147
|
-
)
|
148
|
-
end
|
149
|
-
end
|
150
133
|
end
|
151
134
|
|
152
135
|
describe ".encode_params" do
|
@@ -293,6 +276,28 @@ describe Koala::HTTPService do
|
|
293
276
|
end
|
294
277
|
end
|
295
278
|
|
279
|
+
|
280
|
+
context "with API versions" do
|
281
|
+
it "adds a version if specified by Koala.config" do
|
282
|
+
expect(Koala.config).to receive(:api_version).and_return("v11")
|
283
|
+
expect(@mock_connection).to receive(:get).with("/v11/anything", anything)
|
284
|
+
Koala::HTTPService.make_request("anything", {}, "get")
|
285
|
+
end
|
286
|
+
|
287
|
+
it "prefers a version set in http_options" do
|
288
|
+
allow(Koala.config).to receive(:api_version).and_return("v11")
|
289
|
+
allow(Koala::HTTPService).to receive(:http_options).and_return({ api_version: 'v12' })
|
290
|
+
expect(@mock_connection).to receive(:get).with("/v12/anything", anything)
|
291
|
+
Koala::HTTPService.make_request("anything", {}, "get")
|
292
|
+
end
|
293
|
+
|
294
|
+
it "doesn't add double slashes to the path" do
|
295
|
+
allow(Koala::HTTPService).to receive(:http_options).and_return({ api_version: 'v12' })
|
296
|
+
expect(@mock_connection).to receive(:get).with("/v12/anything", anything)
|
297
|
+
Koala::HTTPService.make_request("/anything", {}, "get")
|
298
|
+
end
|
299
|
+
end
|
300
|
+
|
296
301
|
it "makes a POST request if the verb isn't get" do
|
297
302
|
expect(@mock_connection).to receive(:post).and_return(@mock_http_response)
|
298
303
|
Koala::HTTPService.make_request("anything", {}, "anything")
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: koala
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.10.
|
4
|
+
version: 1.10.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Koppel
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-09-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: multi_json
|